CSV o valores separados por comas , los archivos se utilizan comúnmente como un formato universal para el intercambio de datos simples , sobre todo entre las aplicaciones de hojas de cálculo . El formato es simple. Tome una tabla de datos y colocar el nombre de cada columna en la primera línea , con cada nombre separado de los demás por una coma. A continuación, vaya a través de la mesa llena , colocando cada fila en una línea con cada columna separados por comas. Java no tiene construido en la utilidad para la lectura de archivos CSV , pero eso no debe usted dejar de utilizarlos en la aplicación Java. El formato simple hace que sea fácil de crear su propio analizador de archivos Java CSV. Instrucciones
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 ArrayList = new ArrayList < , cadena > (); ArrayList oneDdata = new ArrayList ();
//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 ()); }
< br >
3
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 ();
< 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 () ;} }