[Java] Lesen und Schreiben von Dateien mit OpenCSV

Offizielle Dokumentation

http://opencsv.sourceforge.net/ JavaDoc http://opencsv.sourceforge.net/apidocs/index.html

Machen Sie den gelesenen Inhalt zu einer Liste von Beans

Grundform


List<SampleBean> list = null;

//Lesen Sie die Datei
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path), "UTF-8"))) {

	CsvToBeanBuilder<SampleBean> builder = new CsvToBeanBuilder<SampleBean>(reader);
	builder.withType(SampleBean.class);

	list = builder.build().parse();
}

Lesen Sie tabulatorgetrennten Text

Beschreibung, die dem Builder hinzugefügt werden soll


builder.withSeparator('\t');

Wenn es eine Kopfzeile gibt

Fügen Sie der Bean-Eigenschaft @ CsvBindByName hinzu. Bezeichnet durch den Spaltennamen.

Wenn keine Kopfzeile vorhanden ist


public class SampleBean {

	@CsvBindByName
	private String col1 = null;

	@CsvBindByName
	private String col2 = null;

	@CsvBindByName
	private String col3 = null;

	@CsvBindByName
	private String col4 = null;

	@CsvBindByName
	private String col5 = null;
	
	//Abkürzung

}

Wenn keine Kopfzeile vorhanden ist

Fügen Sie den Bean-Eigenschaften @ CsvBindByPosition hinzu. Bezeichnung nach Spaltenposition.

Wenn keine Kopfzeile vorhanden ist


public class SampleBean {

	@CsvBindByPosition(position = 0)
	private String col1 = null;

	@CsvBindByPosition(position = 1)
	private String col2 = null;

	@CsvBindByPosition(position = 2)
	private String col3 = null;

	@CsvBindByPosition(position = 3)
	private String col4 = null;

	@CsvBindByPosition(position = 4)
	private String col5 = null;
	
	//Abkürzung

}

In Datei schreiben

Schreiben Sie aus einer Liste von Bohnen

Offizielles Site-Beispiel


Writer writer = new FileWriter("yourfile.csv");
StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer).build();
beanToCsv.write(beans);
writer.close();

Die offizielle Stichprobenmethode verhält sich wie folgt. -Die Kopfzeile wird eingefügt, aber alle alphabetischen Zeichen werden groß geschrieben. -Die Ausgabereihenfolge der Spalten ist in aufsteigender Reihenfolge der Spaltennamen.

Ich dachte, dass beide mithilfe von Strategie usw. gesteuert werden könnten, aber manchmal musste ich meine eigene Strategieklasse erstellen. Das einfache Schreiben mit "CSVWriter" scheint also schneller zu sein.

Schreiben Sie mit CSVWriter

Probe mit CSVWriter


CSVWriterBuilder builder = new CSVWriterBuilder(writer);
builder.withSeparator('\t');	//Tabulator begrenzt
builder.withLineEnd("\r\n");	//Zeilenvorschubcode(Standardmäßig\Werden Sie n)

try (ICSVWriter csvWriter = builder.build()) {

	//Header
	csvWriter.writeNext(new String[] { "column1", "column2" }, false);

	//Inhalte schreiben
	for (SampleBean output : outputList) {
		csvWriter.writeNext(new String[] { output.getColumn1(), output.getColumn2() }, false);
	}

}

Recommended Posts

[Java] Lesen und Schreiben von Dateien mit OpenCSV
[Review] Lesen und Schreiben von Dateien mit Java (JDK6)
Lesen und Schreiben von GZIP-Dateien in Java
[Java] Konvertieren und Importieren von Dateiwerten mit OpenCSV
Ich habe versucht, C # zu kauen (Dateien lesen und schreiben)
[Java] Entwicklung mit mehreren Dateien mittels Paket und Import
Verwenden Sie Java mit MSYS und Cygwin
Verteilte Ablaufverfolgung mit OpenCensus und Java
Installieren Sie Java und Tomcat mit Ansible
Verwenden Sie JDBC mit Java und Scala.
PDF und TIFF mit Java 8 ausgeben
Ziehen Sie Dateien mit JavaFX per Drag & Drop
Mit Java verschlüsseln und mit C # entschlüsseln
Verknüpfen Sie Java- und C ++ - Code mit SWIG
Probieren wir WebSocket mit Java und Javascript aus!
[Java] Behandeln Sie Excel-Dateien mit Apache POI
[Java] Wie man Dateien ausgibt und schreibt!
[Kotlin] Doppelte Dateien löschen [Java]
Hinweise zum Lesen und Generieren von XLSX-Dateien aus Java mit Apache POI
[Java] Was soll ich zum Schreiben von Dateien verwenden?
Erstellen und testen Sie Java + Gradle-Anwendungen mit Wercker
Versuchen Sie, Ruby und Java in Dapr zu integrieren
Unterschiede beim Schreiben von Java-, C # - und Javascript-Klassen
[Anfänger] Laden Sie Bilder und Dateien mit Spring hoch [Autark]
Fassen Sie die Unterschiede zwischen C # - und Java-Schrift zusammen
Java und JavaScript
XXE und Java
Bereiten Sie eine Scraping-Umgebung mit Docker und Java vor
Einführung in Apache Beam (1) ~ Lesen und Schreiben von Text ~
KMS) Umschlagverschlüsselung mit OpenSL- und Java-Entschlüsselung
Verschlüsseln / Entschlüsseln mit AES256 in PHP und Java
[Java] Mit Apathce Tika Metadaten aus Dateien abrufen und Breite und Höhe von Bildern / Videos aus Metadaten abrufen [Kotlin]
[Java] Richten Sie Zeichen auch mit gemischten Zeichen halber und voller Breite aus
Verwenden Sie die schnelle Mapping-Bibliothek MapStruct mit Lombok und Java 11
AtCoder ABC129 D 2D-Array In Ruby und Java gelöst
Zusammenfassung des ToString-Verhaltens mit Java- und Groovy-Annotationen
Führen Sie Maven unter Java 8 aus, während Sie unter Java 6 kompilieren und unter Java 11 testen
Lösen mit Ruby, Perl und Java AtCoder ABC 128 C.
[Java] Verweisen Sie auf und setzen Sie private Variablen mit Reflektion
Verbinden Sie den Port mit SSH, um Dateien zu senden und zu empfangen
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
Bereiten Sie die Umgebung für Java11 und JavaFx mit Ubuntu 18.4 vor
Gesichtserkennungs-App mit Amazon Rekognition und Java
Serverloses Java EE beginnend mit Quarkus und Cloud Run
Installieren Sie Java mit Homebrew
Getter und Setter (Java)
Wechseln Sie die Plätze mit Java
[Java] Thread und ausführbar
Java wahr und falsch
[Java] Vergleich von Zeichenketten und && und ||
Bequemer Download mit JAVA
Behandeln Sie Dateien mit NIO.2.
Schalten Sie Java mit direnv
Java - Serialisierung und Deserialisierung
[Java] Argumente und Parameter
Java-Download mit Ansible
[Java] Eine Technik zum Schreiben von Konstruktoren, Gettern und Setzern auf einmal mit IntelliJ IDEA.