logo

Cum să citiți fișierul CSV în Java

The CSV reprezintă Valori separate prin virgulă . Este un format de fișier simplu care este folosit pentru a stoca date tabelare sub formă de text simplu, cum ar fi o foaie de calcul sau o bază de date. Fișierele din CSV format poate fi importat și exportat din programe (Microsoft Office și Excel) care stochează date în tabele. Fișierul CSV a folosit un delimitator pentru a identifica și a separa diferitele date într-un fișier. Formatul de fișier CSV este folosit atunci când mutăm date tabulare între programe care funcționează nativ pe formate incompatibile. Există următoarele moduri de a citi fișierul CSV în Java. Separatorul implicit al unui fișier CSV este a virgula (,) .

Există următoarele moduri de a imprima o matrice în Java:

  • Java Scanner clasă
  • Java String.split() metodă
  • Folosind OpenCSV API

Cum se creează fișierul CSV

Există două moduri de a crea un fișier CSV:

  • Folosind Microsoft Excel
  • Folosind Notepad

Folosind Microsoft Excel

Pasul 1: Deschideți Microsoft Excel.

setat în java

Pasul 2: Scrieți următoarele date în fișier:

Cum să citiți fișierul CSV în Java

Pasul 3: Acum, salvați fișierul. Furnizați numele fișierului CSVDemo și selectați CSV (delimitat prin virgulă) din salvați ca tip meniul. Acum, faceți clic pe butonul Salvare.

Cum să citiți fișierul CSV în Java

Folosind Notepad

Pasul 1: Deschis blocnotes .

Pasul 2: Scrieți câteva date într-un fișier separat de virgula (,) . De exemplu:

Vivek, Singh, 23, 9999999, Chandigarh

Pasul 3: Salvați fișierul cu .csv extensie.

Am creat următorul fișier.

Cum să citiți fișierul CSV în Java

Clasa Java Scanner

Java Scanner clasa oferă diverse metode prin care putem citi fișierul CSV. Clasa Scanner oferă un constructor care produce valori scanate din fișierul specificat. Acesta împarte datele în formă de simbol. Folosește un model de delimitare care se potrivește implicit cu spațiul alb. Tokenurile rezultate au fost apoi convertite în valori de diferite tipuri folosind metodele next().

Exemplu

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

Ieșire:

 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 

Metoda Java String.split().

Java String.split() identifică delimitatorul și împarte rândurile în jetoane.

Sintaxă

salvează gimp ca jpeg
 public String[] split(String regex) 

Metoda parsează o expresie regulată delimitantă. Metoda returnează o matrice de șiruri calculate prin împărțirea acestui șir în jurul potrivirilor expresiei regulate date.

Luați în considerare șirul:

'aceasta este o masă' Regex Rezultat : {'aceasta este o masă'}

Exemplu

În exemplul următor, folosim clasa BufferedReader care citește fișierul linie cu linie până când se ajunge la caracterul EOF (sfârșitul fișierului).

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

Ieșire:

 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] 

Folosind API-ul OpenCSV

OpenCSV este un API terță parte care oferă biblioteci standard pentru a citi diferite versiuni ale fișierului CSV. Biblioteca oferă un control mai bun pentru a gestiona fișierul CSV. Biblioteca poate citi și formatul de fișier TDF (Fișier delimitat de file).

Caracteristicile OpenCSV

  • Orice număr de valori pe linie.
  • Ignoră virgulele în elementele citate.
  • Gestionează intrările care se întind pe mai multe linii.

The CSVReader clasa este folosită pentru a citi un fișier CSV. Clasa oferă un constructor de clasă CSVReader pentru a analiza un fișier CSV.

Sintaxă

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

Parametrii

caracter în șir în java

cititor: Cititorul către o sursă CSV.

separator: Este un delimitator care este folosit pentru separarea intrărilor.

Pași pentru a citi fișierul CSV în eclipse:

Pasul 1: Creați un fișier de clasă cu numele CitițiCSVExample3 si scrie urmatorul cod.

Pasul 2: Creeaza o lib folder din proiect.

Pasul 3: Descarca opecsv-3.8.jar din

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

Pasul 4: Copiați opencsv-3.8.jar și inserați în folderul lib.

Pasul 5: Acum, rulați programul.

Exemplu

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

Ieșire:

 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 

Citirea fișierului CSV cu un separator diferit

În următorul fișier CSV, am folosit punct și virgulă (;) pentru a separa token-urile.

Cum să citiți fișierul CSV în Java

Exemplu

data de utilizare java
 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(); } } } 

Ieșire:

 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