logo

So lesen Sie eine CSV-Datei in Java

Der CSV steht für Komma-getrennte Werte . Es handelt sich um ein einfaches Dateiformat, das zum Speichern tabellarischer Daten in einfacher Textform verwendet wird, beispielsweise in einer Tabellenkalkulation oder einer Datenbank. Die Dateien in der CSV Das Format kann in Programme (Microsoft Office und Excel), die Daten in Tabellen speichern, importiert und exportiert werden. Die CSV-Datei verwendete ein Trennzeichen, um verschiedene Datentoken in einer Datei zu identifizieren und zu trennen. Das CSV-Dateiformat wird verwendet, wenn wir Tabellendaten zwischen Programmen verschieben, die nativ mit inkompatiblen Formaten arbeiten. Es gibt folgende Möglichkeiten, CSV-Dateien in Java zu lesen. Das Standardtrennzeichen einer CSV-Datei ist a Komma (,) .

Es gibt folgende Möglichkeiten, ein Array in Java zu drucken:

  • Java Scanner Klasse
  • Java String.split() Methode
  • Benutzen OpenCSV API

So erstellen Sie eine CSV-Datei

Es gibt zwei Möglichkeiten, eine CSV-Datei zu erstellen:

  • Benutzen Microsoft Excel
  • Benutzen Notizblock

Verwendung von Microsoft Excel

Schritt 1: Öffnen Sie Microsoft Excel.

Schritt 2: Schreiben Sie die folgenden Daten in die Datei:

So lesen Sie eine CSV-Datei in Java

Schritt 3: Speichern Sie nun die Datei. Geben Sie den Dateinamen an CSVDemo und wählen Sie CSV (durch Kommas getrennt) aus Speichern unter Speisekarte. Klicken Sie nun auf die Schaltfläche Speichern.

So lesen Sie eine CSV-Datei in Java

Verwenden von Notepad

Schritt 1: Offen Notizblock .

Schritt 2: Schreiben Sie einige Daten getrennt durch in die Datei Komma (,) . Zum Beispiel:

Vivek, Singh, 23, 9999999, Chandigarh

Schritt 3: Speichern Sie die Datei mit .csv Verlängerung.

Wir haben die folgende Datei erstellt.

So lesen Sie eine CSV-Datei in Java

Java-Scanner-Klasse

Java Scanner Die Klasse bietet verschiedene Methoden, mit denen wir CSV-Dateien lesen können. Die Scanner-Klasse stellt einen Konstruktor bereit, der aus der angegebenen Datei gescannte Werte erzeugt. Es bricht Daten in die Token-Form auf. Es verwendet ein Trennzeichenmuster, das standardmäßig mit Leerzeichen übereinstimmt. Die resultierenden Token werden dann mithilfe der next()-Methoden in Werte unterschiedlichen Typs umgewandelt.

Beispiel

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

Ausgabe:

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

Java String.split() identifiziert das Trennzeichen und teilt die Zeilen in Token auf.

Syntax

 public String[] split(String regex) 

Die Methode analysiert einen begrenzenden regulären Ausdruck. Die Methode gibt ein Array von Zeichenfolgen zurück, das durch Aufteilen dieser Zeichenfolge nach Übereinstimmungen mit dem angegebenen regulären Ausdruck berechnet wird.

Betrachten Sie die Zeichenfolge:

'Das ist ein Tisch' Regex Ergebnis : {'Das ist ein Tisch'}

Beispiel

Im folgenden Beispiel verwenden wir die Klasse BufferedReader, die die Datei Zeile für Zeile liest, bis das EOF-Zeichen (Ende der Datei) erreicht ist.

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

Ausgabe:

 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] 

Verwendung der OpenCSV-API

OpenCSV ist eine Drittanbieter-API, die Standardbibliotheken zum Lesen verschiedener Versionen von CSV-Dateien bereitstellt. Die Bibliothek bietet eine bessere Kontrolle für den Umgang mit der CSV-Datei. Die Bibliothek kann auch das Dateiformat TDF (Tab-Delimited File) lesen.

String Java ersetzen

Funktionen von OpenCSV

  • Beliebig viele Werte pro Zeile.
  • Kommas in zitierten Elementen werden ignoriert.
  • Behandelt Einträge, die sich über mehrere Zeilen erstrecken.

Der CSVReader Die Klasse wird zum Lesen einer CSV-Datei verwendet. Die Klasse stellt den CSVReader-Klassenkonstruktor zum Parsen einer CSV-Datei bereit.

Syntax

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

Parameter

Leser: Der Leser zu einer CSV-Quelle.

Separator: Es handelt sich um ein Trennzeichen, das zum Trennen von Einträgen verwendet wird.

Schritte zum Lesen der CSV-Datei in Eclipse:

Schritt 1: Erstellen Sie eine Klassendatei mit dem Namen Lesen Sie CSVExample3 und schreibe den folgenden Code.

Schritt 2: Ein ... kreieren lib Ordner im Projekt.

Schritt 3: Herunterladen opecsv-3.8.jar aus

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

Schritt 4: Kopiere das opencsv-3.8.jar und in den lib-Ordner einfügen.

Schritt 5: Führen Sie nun das Programm aus.

Beispiel

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

Ausgabe:

 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 

CSV-Datei mit einem anderen Trennzeichen lesen

In der folgenden CSV-Datei haben wir Semikolon (;) verwendet, um Token zu trennen.

So lesen Sie eine CSV-Datei in Java

Beispiel

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

Ausgabe:

 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