1
Crear una nueva clase denominada CSVParser.java pegando lo siguiente en un archivo de texto vacío :
java.io.File importación; java.io.FileNotFoundException importación , la importación java.util.ArrayList , importación java.util.Scanner ; javax.swing.table.DefaultTableModel importación; javax.swing.table.TableModel importación;
CSVParser public class { }
2 < p> Pega el siguiente método " parse " en ella entre los soportes de la clase :
pública parse TableModel estática (File f ) throws FileNotFoundException {
encabezados //Obtener las cabeceras del Linescan = new escáner table.Scanner ( f ) ; escáner s = new escáner ( lineScan.nextLine ()); s.useDelimiter (", ") , mientras que ( s.hasNext ()) { headers.add ( s.next ()) ;} //Ir a través de cada uno línea de la tabla y agregar cada celda a la ArrayListwhile ( lineScan.hasNextLine ()) { s = new escáner ( lineScan.nextLine ()); s.useDelimiter ( " *") , mientras que ( s.hasNext () ) { oneDdata.add s.next ( ()) ;} } String [] [ ] data = new String [ headers.size ()] [ oneDdata.size () /headers.size ( )] ; //mover los datos en una matriz de vainilla por lo que se puede poner en un table.for ( int x = 0 ; x < headers.size ( ) ; x + + ) { for (int y = 0 ; . Y < datos [ 0 ] longitud ; y + + ) { datos [x ] [ y] = oneDdata.remove ( 0 ) ;} } //Crear una tabla y it.return return new DefaultTableModel (datos, headers.toArray ()); } Pega el siguiente método principal, justo debajo del método de análisis de la etapa 2 : public static void main ( String [] args ) throws FileNotFoundException {//llamada al método parse y poner los resultados en una table.TableModel t = CSVParser.parse ( nuevo archivo ( " test.csv ")); //imprimir todas las columnas de la tabla , seguido de un nuevo line.for (int x = 0 ; x < t.getColumnCount ( ) x + + ) { System.out.print ( t.getColumnName (x ) + " ") ;} System.out.println ();
3
< p > //imprimir todos los datos de la 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 () ;} }