Čitanje CSV datoteke u niz

1. Pregled

Jednostavno rečeno, datoteka CSV (vrijednosti odvojene zarezom) sadrži organizirane informacije odvojene graničnikom zarezom.

U ovom ćemo uputstvu proučiti različite načine čitanja CSV datoteke u niz.

2. BufferedReader u java.io

Prvo ćemo čitati zapise red po redak pomoću readLine () u BufferedReader. Zatim ćemo liniju podijeliti na žetone na temelju graničnika zarezom.

Popis zapisa = novi ArrayList (); try (BufferedReader br = new BufferedReader (new FileReader ("book.csv"))) {String line; while ((line = br.readLine ())! = null) {String [] vrijednosti = line.split (COMMA_DELIMITER); records.add (Arrays.asList (vrijednosti)); }}

Napomena s ovim pristupom, sofisticiraniji CSV-ovi (npr. Citiranje ili uključivanje zareza kao vrijednosti) neće se raščlaniti kako je predviđeno.

3. Skener u java.util

Dalje ćemo koristiti java.util.Skener za prolazak kroz sadržaj datoteke i serijsko dohvaćanje redaka, jedan po jedan:

Popis zapisa = novi ArrayList (); probajte (Scanner scanner = novi Scanner (nova datoteka ("book.csv"));) {while (scanner.hasNextLine ()) {records.add (getRecordFromLine (scanner.nextLine ())); }}

Zatim ćemo raščlaniti retke i pohraniti ga u niz:

privatni popis getRecordFromLine (niz reda) {Vrijednosti popisa = novi ArrayList (); pokušajte (Scanner rowScanner = novi Scanner (linija)) {rowScanner.useDelimiter (COMMA_DELIMITER); while (rowScanner.hasNext ()) {values.add (rowScanner.next ()); }} povratne vrijednosti; }

Kao i prije, s ovim pristupom sofisticiraniji CSV-ovi neće se raščlaniti kako je predviđeno.

4. OpenCSV

Složenijim CSV datotekama možemo se obratiti pomoću OpenCSV-a.

OpenCSV je biblioteka treće strane koja pruža API za rad s CSV datotekama. Koristit ćemo readNext () metoda u CSVReader za čitanje zapisa u datoteci:

Popis zapisa = novi ArrayList(); probajte (CSVReader csvReader = novi CSVReader (novi FileReader ("book.csv"));) {String [] vrijednosti = null; while ((values ​​= csvReader.readNext ())! = null) {records.add (Arrays.asList (values)); }}

Da bismo dublje istražili i saznali više o OpenCSV-u - možemo pogledati naš vodič za OpenCSV.

5. Zaključak

U ovom smo brzom vodiču istražili različite načine čitanja CSV datoteke u niz.

Kao i uvijek, puni izvorni kod primjera dostupan je na GitHub-u.