Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorte novú triedu s názvom CSVParser.java vložením nasledujúceho do prázdneho textového súboru :
import java.io.File , import java.io.FileNotFoundException , dovoz java.util.ArrayList , import java.util.Scanner , import javax.swing.table.DefaultTableModel , import javax.swing.table.TableModel ,
public class CSVParser { }
2
Vložiť nasledujúce " analyzovať " metódu do neho zátvorkách v triede :
public static TableModel parse ( File f ) throws FileNotFoundException {
ArrayList //Získajte záhlavie na table.Scanner Linescan = new Scanner ( f ) ; skener s = new Scanner ( lineScan.nextLine ( ) ) ; s.useDelimiter ( " , " ) , zatiaľ čo ( s.hasNext ( ) ) { headers.add ( s.next ( ) ) ; } //prejsť každý riadok tabuľky a pridať každú bunku na ArrayListwhile ( lineScan.hasNextLine ( ) ) { s = new Scanner ( lineScan.nextLine ( ) ) ; s.useDelimiter ( " * " ) , zatiaľ čo ( s.hasNext ( ) ) { oneDdata.add ( s.next ( ) ) ; } } String [ ] [ ] data = new String [ headers.size ( ) ] [ oneDdata.size ( ) /headers.size ( ) ] ; //presunúť dáta do vanilkovou poľa , takže je možné dať do table.for ( int x = 0 ; x < headers.size ( ) ; x + + ) { for ( int y = 0 ; . y < údajov [ 0 ] dĺžka , y + + ) { Dáta [ x ] [ y ] = oneDdata.remove ( 0 ) ; } } //Vytvorenie tabuľky a vráti it.return nové DefaultTableModel ( údaje , headers.toArray ( ) ) ; } vložte nasledujúci hlavnú metódu len pod metóde analýze z Krok 2 : public static void main ( String [ ] args ) throws FileNotFoundException { //volanie metódy parse a dať výsledky v table.TableModel t = CSVParser.parse ( new File ( " test.CSV " ) ) ; //tlač všetkých stĺpcov v tabuľke, musia nasledovať nový line.for ( int x = 0 ; x < t.getColumnCount ( ) x + + ) { System.out.print ( t.getColumnName ( x ) + " " ) ; } System.out.println ( ) ; celým //Tlač všetky dáta z 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 ( ) ; } }
3