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:
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.
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.
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.
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