Kuidas Loe CSV faili Java

Kuidas Loe CSV faili Java Ciaran Griffin / Lifesize / Getty Images

CSV või komadega eraldatud väärtuste, faile, mida tavaliselt kasutatakse universaalse vormi vahetamine lihtne andmed, eriti vahel arvutustabeli.Formaat on lihtne.Võtke tabeli andmed ja pane nimi iga veeru esimeses reas, iga nime teistest eraldatult komaga.Siis lähevad läbi kogu tabeli, pannes iga rea ​​kohta kooskõlas iga veeru eraldatakse komaga.Java ei ole ehitatud kasuliku lugemise CSV faile, kuid see ei tohiks takistada sind kasutades neid oma Java-rakendus.Lihtsustatud formaadis on lihtne luua oma Java CSV faili parser.

juhised

  1. Loo uus klass nimega CSVParser.java ide järgmised tühja tekstifaili:

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

    public class CSVParser {

    }

  2. kleepige järgnev "sõeluda" meetodil sinna sulgudesse klassis:

    public static TableModel sõeluda (Fil
    e f) viskab FileNotFoundException {

    ArrayList & amp; lt; String & gt;päised = new ArrayList & amp; lt; String & gt; ();
    ArrayList & amp; lt; String & gt;oneDdata = new ArrayList & amp; lt; String & gt; ();

    // siia päised tabeli.

    Scanner lineScan = uus viirus (f);
    Scanner s = uus viirus (lineScan.nextLine ());
    s.useDelimiter (& amp; quot;, & amp; quot;);
    ajal (s.hasNext ()) {
    headers.add (s.next ());
    }

    // Mine läbi iga rida tabelis ja lisada iga rakk ArrayList

    ajal (lineScan.hasNextLine ()) {
    s = uus viirus (lineScan.nextLine ());
    s.useDelimiter (& amp; quot ;, * & amp; quot;);
    ajal (s.hasNext ()) {
    oneDdata.add (s.next ());
    }
    }
    String [] [] data = new String [headers.size ()] [oneDdata.size () / headers.size ()];


    // Liiguta andmeid vanilli massiivi nii, et see saab panna lauale.

    jaoks (int x = 0; x & amp; lt; headers.size (); x ++) {
    jaoks (int y = 0; y & amp; lt; andmed [0] LENGTH; y ++) {
    andmed [x][y] = oneDdata.remove (0);
    }
    }


    // Loo tabel ja tagastab selle.

    tagasi uue DefaultTableModel (andmed, headers.toArray ());

    }

  3. kleepige järgnev peamine meetod just all sõeluda meetodi Samm 2:

    public static void main (String [] args) viskab FileNotFoundException {
    & amp; # 9; // Helista sõeluda meetod ja pane tulemusitabelis.
    TableModel t = CSVParser.parse (uus File (& amp; quot; test.csv & amp; quot;));

    // Prindi kõik veerud tabelis, millele järgneb uus liin.

    jaoks (int x = 0; x & amp; lt; t.getColumnCount (); x ++) {
    System.out.print (t.getColumnName (x) + amp; quot; & amp; quot;);
    }
    System.out.println ();

    // Prindi kogu tabeli andmeid.

    jaoks (int x = 0; x & amp; lt; t.getRowCount (); x ++) {
    jaoks (int y = 0; y & amp; lt; t.getColumnCount (); y ++) {
    System.out.print(t.getValueAt (x, y) + amp; quot; & amp; quot;);
    }
    System.out.println ();
    }

    }

12
0
3
Java Programming