logo

Kuinka lukea CSV-tiedostoa Javassa

The CSV tarkoittaa Pilkuilla erotetut arvot . Se on yksinkertainen tiedostomuoto, jota käytetään taulukkotietojen tallentamiseen yksinkertaisessa tekstimuodossa, kuten laskentataulukossa tai tietokannassa. Tiedostot CSV muotoa voidaan tuoda ja viedä ohjelmista (Microsoft Office ja Excel), jotka tallentavat tietoja taulukoihin. CSV-tiedostossa käytettiin erotinta tiedostossa olevien eri datatunnisteiden tunnistamiseen ja erottamiseen. CSV-tiedostomuotoa käytetään siirrettäessä taulukkotietoja ohjelmien välillä, jotka toimivat natiivisti yhteensopimattomissa muodoissa. On olemassa seuraavia tapoja lukea CSV-tiedosto Javassa. CSV-tiedoston oletuserotin on a pilkku (,) .

On olemassa seuraavia tapoja tulostaa taulukko Javassa:

  • Java Skanneri luokkaa
  • Java String.split() menetelmä
  • Käyttämällä OpenCSV API

Kuinka luoda CSV-tiedosto

CSV-tiedoston luomiseen on kaksi tapaa:

  • Käyttämällä Microsoft Excel
  • Käyttämällä Muistilehtiö

Microsoft Excelin käyttö

Vaihe 1: Avaa Microsoft Excel.

linkitetty lista java

Vaihe 2: Kirjoita tiedostoon seuraavat tiedot:

Kuinka lukea CSV-tiedostoa Javassa

Vaihe 3: Tallenna nyt tiedosto. Anna tiedoston nimi CSVDemo ja valitse CSV (pilkuilla erotettu) valikosta tallenna tyyppinä valikosta. Napsauta nyt Tallenna-painiketta.

Kuinka lukea CSV-tiedostoa Javassa

Notepadin käyttäminen

Vaihe 1: Avata muistilehtiö .

Vaihe 2: Kirjoita joitakin tietoja tiedostoon erotettuna pilkku (,) . Esimerkiksi:

Vivek, Singh, 23, 9999999, Chandigarh

Vaihe 3: Tallenna tiedosto sovelluksella .csv laajennus.

Olemme luoneet seuraavan tiedoston.

Kuinka lukea CSV-tiedostoa Javassa

Java Scanner -luokka

Java Skanneri luokka tarjoaa erilaisia ​​​​menetelmiä, joilla voimme lukea CSV-tiedostoa. Scanner-luokka tarjoaa rakentajan, joka tuottaa määritetystä tiedostosta skannatut arvot. Se jakaa tiedot token-muotoon. Se käyttää erotinkuviota, joka oletuksena vastaa tyhjää tilaa. Tuloksena saadut merkit muunnetaan sitten eri tyyppisiksi arvoiksi next()-menetelmillä.

Esimerkki

 import java.io.*; import java.util.Scanner; public class ReadCSVExample1 { public static void main(String[] args) throws Exception { //parsing a CSV file into Scanner class constructor Scanner sc = new Scanner(new File('F:\CSVDemo.csv')); sc.useDelimiter(','); //sets the delimiter pattern while (sc.hasNext()) //returns a boolean value { System.out.print(sc.next()); //find and returns the next complete token from this scanner } sc.close(); //closes the scanner } } 

Lähtö:

 Shashank, Mishra, Auditor, 909090090, 45000, Moti Vihar Naveen, Singh, Accountant, 213344455, 12000, Shastri Nagar Mahesh, Nigam, Sr. Manager, 787878878, 30000, Ashok Nagar Manish, Gupta, Manager, 999988765, 20000, Saket Nagar 

Java String.split() -menetelmä

Java String.split() tunnistaa erottimen ja jakaa rivit tokeneiksi.

Syntaksi

 public String[] split(String regex) 

Menetelmä jäsentää rajaavan säännöllisen lausekkeen. Menetelmä palauttaa merkkijonon, joka on laskettu jakamalla tämä merkkijono annetun säännöllisen lausekkeen osumien ympärille.

Harkitse merkkijonoa:

'Tämä on pöytä' Regex Tulos : {'Tämä on pöytä'}

Esimerkki

Seuraavassa esimerkissä käytämme BufferedReader-luokkaa, joka lukee tiedostoa rivi riviltä, ​​kunnes EOF (tiedoston loppu) -merkki saavutetaan.

 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadCSVExample2 { public static void main(String[] args) { String line = ''; String splitBy = ','; try { //parsing a CSV file into BufferedReader class constructor BufferedReader br = new BufferedReader(new FileReader('CSVDemo.csv')); while ((line = br.readLine()) != null) //returns a Boolean value { String[] employee = line.split(splitBy); // use comma as separator System.out.println('Employee [First Name=' + employee[0] + ', Last Name=' + employee[1] + ', Designation=' + employee[2] + ', Contact=' + employee[3] + ', Salary= ' + employee[4] + ', City= ' + employee[5] +']'); } } catch (IOException e) { e.printStackTrace(); } } } 

Lähtö:

mitä eroa on megatavulla ja gigatavulla
 Employee [First Name= Shashank, Last Name= Mishra, Designation= Auditor, Contact= 909090090, Salary= 45000, City= Moti Vihar] Employee [First Name= Naveen, Last Name=Singh, Designation= Accountant, Contact=213344455, Salary= 12000, City= Shastri Nagar] Employee [First Name= Mahesh, Last Name=Nigam, Designation= Sr. Manager, Contact=787878878, Salary= 30000, City= Ashok Nagar] Employee [First Name= Manish, Last Name=Gupta, Designation= Manager, Contact=999988765, Salary= 20000, City= Saket Nagar] 

OpenCSV API:n käyttö

OpenCSV on kolmannen osapuolen API, joka tarjoaa vakiokirjastoja CSV-tiedoston eri versioiden lukemiseen. Kirjasto tarjoaa paremman hallinnan CSV-tiedoston käsittelyyn. Kirjasto osaa lukea myös TDF-tiedostomuotoa (Tab-Delimited File).

OpenCSV:n ominaisuudet

  • Mikä tahansa määrä arvoja riviä kohden.
  • Ohittaa pilkkuja lainauselementeissä.
  • Käsittelee merkintöjä, jotka kattavat useita rivejä.

The CSVReader luokkaa käytetään CSV-tiedoston lukemiseen. Luokka tarjoaa CSVReader-luokan rakentajan CSV-tiedoston jäsentämiseksi.

Syntaksi

 public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader) 

Parametrit

lukija: Lukija CSV-lähteeseen.

erotin: Se on erotin, jota käytetään merkintöjen erottamiseen.

Vaiheet CSV-tiedoston lukemiseen eclipse-tilassa:

Vaihe 1: Luo luokkatiedosto nimellä Lue CSVEesimerkki3 ja kirjoita seuraava koodi.

Vaihe 2: Luo lib kansio projektissa.

Vaihe 3: ladata opecsv-3.8.jar alkaen

https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar

Vaihe 4: Kopioi opencsv-3.8.jar ja liitä lib-kansioon.

Vaihe 5: Suorita nyt ohjelma.

Esimerkki

 import java.io.FileReader; import com.opencsv.CSVReader; public class ReadCSVExample3 { public static void main(String[] args) { CSVReader reader = null; try { //parsing a CSV file into CSVReader class constructor reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //reads one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.print(token); } System.out.print('
'); } } catch (Exception e) { e.printStackTrace(); } } } 

Lähtö:

 Shashank Mishra Auditor 909090090 45000 Moti Vihar Naveen Singh Accountant 213344455 12000 Shastri Nagar Mahesh NigamSr. Manager 787878878 30000 Ashok Nagar Manish Gupta Manager 999988765 20000 Saket Nagar 

Luetaan CSV-tiedostoa eri erottimella

Seuraavassa CSV-tiedostossa olemme käyttäneet puolipistettä (;) erottelemaan tunnukset.

miksi merkkijono muuttumaton javassa
Kuinka lukea CSV-tiedostoa Javassa

Esimerkki

 import java.io.FileReader; import java.io.IOException; import com.opencsv.CSVReader; public class ReadCSVExample4 { public static void main(String[] args) { CSVReader reader = null; try { reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //read one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.println(token); } System.out.print('
'); } } catch (Exception e) { e.printStackTrace(); } } } 

Lähtö:

 Shashank; Mishra; Auditor; 909090090; 45000; Moti Vihar Naveen; Singh; Accountant; 213344455; 12000; Shastri Nagar Mahesh; Nigam; Sr. Manager; 787878878; 30000; Ashok Nagar Manish; Gupta; Manager; 999988765; 20000; Saket Nagar