CSV ou Comma Separated Value , les fichiers sont couramment utilisés comme un format universel d'échange de données simples , en particulier entre les applications de tableur . Le format est simple. Prenez une table de données et le nom de chaque colonne sur la première ligne , avec chaque nom séparé des autres par une virgule. Ensuite, passer par le tableau complet , en plaçant chaque rangée sur une ligne , chaque colonne séparée par des virgules. Java n'a pas construit dans l'utilitaire de lecture de fichiers CSV , mais cela ne devrait pas vous empêcher de les utiliser dans votre application Java. Le format simpliste , il est facile de créer votre propre Java CSV analyseur de fichier . Instructions
1
Créer une nouvelle classe nommée CSVParser.java en collant le texte suivant dans un fichier texte vide :
java.io.File d'importation; java.io.FileNotFoundException d'importation , l'importation java.util.ArrayList ; importation java.util.Scanner ; javax.swing.table.DefaultTableModel d'importation; javax.swing.table.TableModel d'importation;
classe CSVParser publique {} de
2 < p > Coller la méthode suivante " d'analyse " en elle entre les parenthèses dans la classe:
publique parse TableModel statique (File f ) throws FileNotFoundException {
têtes de ArrayList = new ArrayList < , String> (); ArrayList oneDdata = new ArrayList ();
//Récupère les en-têtes de la LINESCAN = new Scanner table.Scanner ( f); Scanner s = new Scanner ( lineScan.nextLine ()); s.useDelimiter ( ",") ; while ( s.hasNext ()) { headers.add ( s.next ()); }
//Passez par chaque ligne de la table et ajouter chaque cellule de la ArrayListwhile ( lineScan.hasNextLine ()) { s = new Scanner ( lineScan.nextLine ()); s.useDelimiter ( " *") , tandis que ( s.hasNext () ( ) { oneDdata.add s.next ()); } } string [] [ ] data = new string [ headers.size ( )] [ oneDdata.size () /headers.size () ] ; //déplacer les données dans un tableau de vanille de sorte qu'il peut être mis dans un table.for (int x = 0; x < headers.size (); x + +) { for (int y = 0 ; . y < data [ 0] longueur ; y + + ) {data [x ] [y ] = oneDdata.remove (0); }} //Création d' une table et de retour it.return nouveau DefaultTableModel (données, headers.toArray ()); }
< br >
3
Coller la principale méthode suivante juste en dessous de la méthode d'analyse de l'étape 2 :
public static void main ( string [] args ) throws FileNotFoundException {//Appel de la méthode d'analyse et de mettre les résultats dans un table.TableModel t = CSVParser.parse ( new File ( " test.csv "));
//Affiche toutes les colonnes de la table, suivi par un nouveau line.for (int x = 0; x < t.getColumnCount (); x + +) { System.out.print ( t.getColumnName ( x ) + " ");} System.out.println ();
< p> //imprimer toutes les données 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 ();} }