Comment lire un fichier CSV dans Java

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 de placer le nom de chaque colonne sur la première ligne, avec chaque nom séparé des autres par une virgule. Ensuite, passez par le tableau complet, plaçant chaque rangée sur une ligne, chaque colonne séparés par des virgules. Java n'a pas construit dans Utilitaire de lecture des 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 fichier CSV analyseur Java.

Instructions

  1. Créer une nouvelle classe nommée CSVParser.java en collant le texte suivant dans un fichier texte vide:

    importation java.io.File-
    importation java.io.FileNotFoundException-
    importation java.util.ArrayList-
    importation java.util.Scanner-
    importation javax.swing.table.DefaultTableModel-
    javax.swing.table.TableModel importation;

    public class CSVParser {
    &# 9-
    }

  2. Collez le texte suivant "analyser" méthode en elle entre les crochets dans la classe:

    public static TableModel parse (Fichier f) throws FileNotFoundException {

    ArrayList headers = new ArrayList() -
    ArrayList
    oneDdata = new ArrayList() -

    &# 9-&# 9 - // Obtenir les en-têtes de la table.




    Scanner LINESCAN = new Scanner (f) -
    = New Scanner Scanner (lineScan.nextLine ()) -
    s.useDelimiter ("-," -) -
    while (s.hasNext ()) {
    headers.add (s.next ()) -
    }

    &# 9-&# 9 - // Aller à travers chaque ligne de la table et ajouter chaque cellule à l'ArrayList

    while (lineScan.hasNextLine ()) {
    s = new Scanner (lineScan.nextLine ()) -
    s.useDelimiter ("-, *" -) -
    while (s.hasNext ()) {
    oneDdata.add (s.next ()) -
    }
    }
    String [] [] data = new String [headers.size ()] [oneDdata.size () / headers.size ()] -

    &# 9-
    &# 9-&# 9 - // déplacer les données dans un tableau à la vanille de sorte qu'il peut être mis dans un tableau.

    for (int x = 0- x lt; headers.size () - x ++) {
    for (int y = y 0- lt; données [0] y .length- ++) {
    données [x] [y] = oneDdata.remove (0) -
    }
    }

    &# 9-&# 9-
    &# 9-&# 9 - // Créer une table et de le retourner.

    retourner nouveaux DefaultTableModel (données, headers.toArray ());


    }

  3. Collez la principale méthode suivante juste en dessous de la méthode d'analyse de l'étape 2:

    main (String [] args) public static void jette FileNotFoundException {
    &# 9 - // Appelez la méthode d'analyse et de mettre les résultats dans un tableau.
    TableModel t = CSVParser.parse (new File ("-test.csv" -)) -

    &# 9-&# 9 - // Imprimer toutes les colonnes de la table, suivi d'une nouvelle ligne.

    for (int x = 0- x lt; t.getColumnCount () - x ++) {
    System.out.print (t.getColumnName (x) + "- " -) -
    }
    System.out.println () -

    &# 9-&# 9 - // Imprimer toutes les données de la table.

    for (int x = 0- x lt; t.getRowCount () - x ++) {
    for (int y = y 0- lt; t.getColumnCount () - y ++) {
    System.out.print (t.getValueAt (x, y) + "- " -) -
    }
    System.out.println () -
    }

    }

» » » » Comment lire un fichier CSV dans Java