Miten lukeaCSV-tiedoston Java

Miten lukeaCSV-tiedoston Java Ciaran Griffin / LifeSize / Getty Images

CSV, tai Comma Separated Value, tiedostoja käytetään yleisesti yleinen muoto vaihtamiseksi yksinkertainen tietojen, erityisesti välillä taulukkolaskentaohjelmista.Muoto on yksinkertainen.Ota taulukko tietojen ja aseta nimi jokaisen sarakkeen ensimmäisellä rivillä, jossa kunkin nimen eristettävä muista pilkulla.Sitten mene läpi koko taulukko, laittamalla kukin rivi linjassa jokaisessa sarakkeessa pilkulla erotettuna.Java ei ole rakennettu apuohjelma lukemiseen CSV-tiedostoja, mutta sen ei pitäisi estää sinua käyttämästä niitä omassa Java-sovellus.Yksinkertainen muoto on helppo luoda omia Java-CSV-tiedosto jäsennin.

Ohjeet

  1. Luo uusi luokka nimeltään CSVParser.java liittämällä seuraavat tyhjään tekstitiedostoon:

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

    public class CSVParser {



    }

  2. Liitä seuraava "jäsentää" menetelmä siihen väliin suluissa luokan:

    julkinen staattinen TableModel Parse (File f) heittää FileNotFoundException {

    ArrayList & amp; lt; String & gt;otsikot = uusi ArrayList & amp; lt; String & gt; ();
    ArrayList & amp; lt; String & gt;oneDdata = uusi ArrayList & amp; lt; String & gt; ();

    // Hanki otsikot taulukon.

    Scanner Linescan = uusi Scanner (f);
    Scanner s = uusi Scanner (lineScan.nextLine ());
    s.useDelimiter (& amp; quot; & amp; quot;);
    kun taas (s.hasNext ()) {
    headers.add (s.next ());
    }

    // Käy läpi jokaisen rivin taulukon ja lisätä jokaisen solun ArrayList

    kun (lineScan.hasNextLine ()) {
    s = uusi Scanner (lineScan.nextLine ());
    s.useDelimiter (& amp; quot ;, * & amp; quot;);
    kun taas (s.hasNext ()) {
    oneDdata.add (s.next ());
    }
    }
    String [] [] tiedot = uusi String [headers.size ()] [oneDdata.size () / headers.size ()];


    // Siirrä datan vanilja array jotta se voidaan laittaa pöytä.

    varten (int x = 0; X & amp; lt; headers.size (); x ++) {
    varten (int y = 0 y amp; lt; data [0] .length; y ++) {
    tiedot [x][y] = oneDdata.remove (0);
    }
    }


    // Luo pöytä ja palauttaa sen.

    palata uusi DefaultTableModel (tiedot, headers.toArray ());

    }

  3. Liitä seuraavat keskeiset menetelmää vain alle jäsentää menetelmää vaiheesta 2:

    julkinen staattinen void main (String [] args) throws FileNotFoundException {
    & amp; # 9 // Soita jäsentää menetelmää ja laittaa tuloksettaulukossa.
    TableModel t = CSVParser.parse (uusi File (& amp; quot; test.csv & amp; quot;));

    // Tulosta kaikki sarakkeet taulukon, jonka jälkeen uusi rivi.

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

    // Tulosta kaikki tiedot taulukosta.

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

    }

744
0
3
Java Ohjelmointi