Det CSV står for Kommaseparerede værdier . Det er et simpelt filformat, som bruges til at gemme tabeldata i simpel tekstform, såsom et regneark eller en database. Filerne i CSV format kan importeres til og eksporteres fra programmer (Microsoft Office og Excel), som gemmer data i tabeller. CSV-filen brugte en afgrænsning til at identificere og adskille forskellige datatoken i en fil. CSV-filformatet bruges, når vi flytter tabeldata mellem programmer, der oprindeligt opererer på inkompatible formater. Der er følgende måder at læse CSV-fil i Java. Standardseparatoren for en CSV-fil er en komma (,) .
Der er følgende måder at udskrive et array på i Java:
- Java Scanner klasse
- Java String.split() metode
- Ved brug af Åbn CSV API
Sådan opretter du CSV-fil
Der er to måder at oprette en CSV-fil på:
- Ved brug af Microsoft Excel
- Ved brug af Notesblok
Bruger Microsoft Excel
Trin 1: Åbn Microsoft Excel.
Trin 2: Skriv følgende data ind i filen:
du er splejsning
Trin 3: Gem nu filen. Angiv filnavnet CSVDemo og vælg CSV (kommasepareret) fra gem som type menu. Klik nu på knappen Gem.
Brug af Notesblok
Trin 1: Åben notesblok .
Trin 2: Skriv nogle data i filen adskilt af komma (,) . For eksempel:
Vivek, Singh, 23, 9999999, Chandigarh
java har næste
Trin 3: Gem filen med .csv udvidelse.
Vi har oprettet følgende fil.
Java Scanner klasse
Java Scanner klasse giver forskellige metoder, hvormed vi kan læse CSV-fil. Scanner-klassen giver en konstruktør, der producerer værdier, der er scannet fra den angivne fil. Det opdeler data i token-formen. Den bruger et afgrænsningsmønster, som som standard matcher hvidt mellemrum. De resulterende tokens konverteres derefter til værdier af forskellige typer ved hjælp af next()-metoderne.
Eksempel
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 } }
Produktion:
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() metode
Java String.split() identificerer afgrænseren og opdeler rækkerne i tokens.
Syntaks
public String[] split(String regex)
Metoden analyserer et afgrænsende regulært udtryk. Metoden returnerer et array af streng beregnet ved at opdele denne streng omkring matcher af det givne regulære udtryk.
Overvej strengen:
'dette:er:et:bord' Regex Resultat : {'dette', 'er', 'en', 'tabel'}
Eksempel
I det følgende eksempel bruger vi BufferedReader-klassen, som læser fil linje for linje, indtil EOF-tegnet (end of file) er nået.
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(); } } }
Produktion:
fordelene ved instagram til personlig brug
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]
Bruger OpenCSV API
OpenCSV er en tredjeparts API, som giver standardbiblioteker til at læse forskellige versioner af CSV-filer. Biblioteket giver bedre kontrol til at håndtere CSV-filen. Biblioteket kan også læse TDF (Tab-Delimited File) filformat.
Funktioner i OpenCSV
- Et vilkårligt antal værdier pr. linje.
- Ignorerer kommaer i citerede elementer.
- Håndterer poster, der spænder over flere linjer.
Det CSV-læser klasse bruges til at læse en CSV-fil. Klassen giver CSVReader-klassekonstruktøren til at parse en CSV-fil.
Syntaks
public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader)
Parametre
fibonacci-sekvens java
læser: Læseren til en CSV-kilde.
separator: Det er en afgrænsning, som bruges til at adskille poster.
Trin til at læse CSV-fil i Eclipse:
Trin 1: Opret en klassefil med navnet LæsCSVEeksempel3 og skriv følgende kode.
Trin 2: Lave en lib mappe i projektet.
Trin 3: Hent opecsv-3.8.jar fra
https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar
Trin 4: Kopier opencsv-3.8.jar og indsæt i mappen lib.
gør mens java
Trin 5: Kør nu programmet.
Eksempel
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(); } } }
Produktion:
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
Læser CSV-fil med en anden separator
I den følgende CSV-fil har vi brugt semikolon (;) til at adskille tokens.
Eksempel
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(); } } }
Produktion:
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