logo

Kako čitati CSV datoteku u Javi

The CSV stoji za Vrijednosti odvojene zarezima . To je jednostavan format datoteke koji se koristi za pohranu tabličnih podataka u jednostavnom tekstualnom obliku, kao što je proračunska tablica ili baza podataka. Datoteke u CSV formatu mogu se uvoziti i izvoziti iz programa (Microsoft Office i Excel) koji pohranjuju podatke u tablice. CSV datoteka koristila je razdjelnik za prepoznavanje i odvajanje različitih tokena podataka u datoteci. Format CSV datoteke koristi se kada premještamo tablične podatke između programa koji izvorno rade na nekompatibilnim formatima. Postoje sljedeći načini čitanja CSV datoteke u Javi. Zadani separator CSV datoteke je a zarez (,) .

Postoje sljedeći načini ispisa polja u Javi:

  • Java Skener razreda
  • Java String.split() metoda
  • Korištenje OpenCSV API

Kako stvoriti CSV datoteku

Postoje dva načina za izradu CSV datoteke:

  • Korištenje Microsoft Excel
  • Korištenje Bilježnica

Korištenje programa Microsoft Excel

Korak 1: Otvorite Microsoft Excel.

Korak 2: Upišite sljedeće podatke u datoteku:

Kako čitati CSV datoteku u Javi

Korak 3: Sada spremite datoteku. Navedite naziv datoteke CSVDemo i odaberite CSV (razdvojen zarezima) iz spremi kao vrstu Jelovnik. Sada kliknite na gumb Spremi.

Kako čitati CSV datoteku u Javi

Korištenje Notepada

Korak 1: Otvoren bilježnica .

Korak 2: Zapišite neke podatke u datoteku odvojenu sa zarez (,) . Na primjer:

Vivek, Singh, 23, 9999999, Chandigarh

u redu

Korak 3: Spremite datoteku s .csv proširenje.

Stvorili smo sljedeću datoteku.

Kako čitati CSV datoteku u Javi

Klasa Java Scanner

Java Skener klase pružaju različite metode pomoću kojih možemo čitati CSV datoteku. Klasa Scanner pruža konstruktor koji proizvodi vrijednosti skenirane iz navedene datoteke. Razbija podatke u obrazac tokena. Koristi uzorak razdjelnika koji prema zadanim postavkama odgovara razmaku. Rezultirajući tokeni zatim se pretvaraju u vrijednosti različitih vrsta korištenjem next() metoda.

Primjer

 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 } } 

Izlaz:

 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() metoda

Java String.split() identificira graničnik i dijeli retke u žetone.

Sintaksa

 public String[] split(String regex) 

Metoda analizira regularni izraz za razdvajanje. Metoda vraća niz niza izračunat dijeljenjem ovog niza oko podudaranja zadanog regularnog izraza.

Razmotrite niz:

'ovo:je:stol' Regex Proizlaziti : {'this', 'is', 'a', 'table'}

Primjer

U sljedećem primjeru koristimo klasu BufferedReader koja čita datoteku redak po redak dok se ne dosegne znak EOF (kraj datoteke).

 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(); } } } 

Izlaz:

 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] 

Korištenje OpenCSV API-ja

OpenCSV je API treće strane koji nudi standardne biblioteke za čitanje različitih verzija CSV datoteke. Knjižnica pruža bolju kontrolu za rukovanje CSV datotekom. Knjižnica također može čitati format datoteke TDF (Datoteka odvojena tabulatorima).

Značajke OpenCSV-a

  • Bilo koji broj vrijednosti po retku.
  • Ignorira zareze u elementima koji se navode.
  • Obrađuje unose koji se protežu u više redaka.

The CSVReader klasa se koristi za čitanje CSV datoteke. Klasa pruža konstruktor klase CSVReader za analizu CSV datoteke.

izbornik postavki android telefona

Sintaksa

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

Parametri

čitač: Čitač na CSV izvor.

separator: To je graničnik koji se koristi za razdvajanje unosa.

Koraci za čitanje CSV datoteke u eclipse:

Korak 1: Stvorite datoteku klase s imenom Pročitajte CSVExample3 i napišite sljedeći kod.

Korak 2: Stvoriti lib folder u projektu.

Korak 3: preuzimanje datoteka opecsv-3.8.jar iz

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

Korak 4: Kopiraj opencsv-3.8.jar i zalijepite u mapu lib.

Korak 5: Sada pokrenite program.

Primjer

bash provjeri je li varijabla okruženja postavljena
 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(); } } } 

Izlaz:

 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 

Čitanje CSV datoteke s drugim razdjelnikom

U sljedećoj CSV datoteci upotrijebili smo točku i zarez (;) za odvajanje tokena.

Kako čitati CSV datoteku u Javi

Primjer

 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(); } } } 

Izlaz:

 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