CSV , of Comma Separated Value , worden bestanden vaak gebruikt als een universeel formaat voor het uitwisselen van eenvoudige gegevens , vooral tussen spreadsheet-toepassingen . Het formaat is eenvoudig . Neem een tabel met data en plaats de naam van elke kolom op de eerste lijn , met elke naam van de rest gescheiden door een komma . Dan , ga door de volledige tabel , plaatsen elke rij op een lijn met elke kolom gescheiden door komma's . Java heeft geen ingebouwde hulpprogramma voor het lezen van CSV-bestanden , maar dat moet je niet stoppen met het gebruik ervan in uw Java-toepassing . De simplistische formaat maakt het gemakkelijk om uw eigen Java- CSV-bestand parser maken . Instructies 1 Maak een nieuwe klasse met de naam CSVParser.java door de volgende in een leeg tekstbestand plakken : import java.io.File ; import java.io.FileNotFoundException ; import java.util.ArrayList , import java.util.Scanner , import javax.swing.table.DefaultTableModel , import javax.swing.table.TableModel ; public class CSVParser { } kopen van 2 Plak de volgende " parse " -methode in het tussen de haakjes in de klas : public static TableModel parse ( File f ) gooit FileNotFoundException { ArrayList headers = new ArrayList < , String > ( ) ; ArrayList oneDdata = new ArrayList ( ) ; //Haal de headers van de table.Scanner linescan = new Scanner ( f ) ; Scanner s = new Scanner ( lineScan.nextLine ( ) ) ; s.useDelimiter ( " , " ) , terwijl ( s.hasNext ( ) ) { headers.add ( s.next ( ) ) ; } //Ga door elke regel van de tabel en elke cel toe te voegen aan de ArrayListwhile ( lineScan.hasNextLine ( ) ) { s = new Scanner ( lineScan.nextLine ( ) ) ; s.useDelimiter ( " * " ) , terwijl ( s.hasNext ( ) ) { oneDdata.add ( s.next ( ) ) ; } } String [ ] [ ] data = new String [ headers.size ( ) ] [ oneDdata.size ( ) /headers.size ( ) ] ; //Verplaats de data een vanille matrix zodat het kan in een table.for gebracht ( int x = 0 ; x < headers.size ( ) x + + ) {for ( int y = 0 ; . y < data [ 0 ] length ; y + + ) { data [ x ] [ y ] = oneDdata.remove ( 0 ) ; } } //Maak een tabel en terugkeer it.return nieuwe DefaultTableModel ( data , headers.toArray ( ) ) ; } < br > 3 Plak volgende belangrijkste methode net onder de parse methode van Stap 2 : public static void main ( String [ ] args ) gooit FileNotFoundException { //Roep de parse methode en zet de resultaten in een table.TableModel t = CSVParser.parse (nieuw bestand ( " test.csv " ) ) ; //Print alle kolommen van de tabel , gevolgd door een nieuwe line.For ( int x = 0 ; x < t.getColumnCount ( ) ; x + + ) { System.out.print ( t.getColumnName ( x ) + " " ) ; } System.out.println ( ) ; //druk alle gegevens van de table.for ( int x = 0 ; x < t.getRowCount ( ) x + + ) {for ( int y = 0 , y < t.getColumnCount ( ) , y + + ) { System.out.print ( t.getValueAt ( x , y ) + " " ) ; } System.out.println ( ) ; } }
|