Heim >Java >javaLernprogramm >Zuordnen von Java Beans zu CSV-Dateien mithilfe von OpenCSV
In unserem digitalisierten Zeitalter, in dem täglich große Mengen an Informationen rund um den Globus produziert werden; Die effiziente Verwaltung von Methoden zur Informationsspeicherung ist für viele Bereiche – einschließlich Unternehmen – von entscheidender Bedeutung für den Erfolg geworden. Eine Alternative, die in letzter Zeit aufgrund ihrer effektiven Funktionalität und Komfortaspekte bei Benutzern große Popularität erlangt hat; Aus wirtschaftlicher Sicht könnte das Dateiformat Comma Separated Values (CSV) durchaus in Betracht gezogen werden. Es handelt sich um eine textbasierte Option, die dabei helfen kann, Daten auf unkomplizierte und einfache Weise zu speichern, zu bearbeiten und zu übertragen. Dennoch kann die Zuordnung von CSVs zu komplexeren Datenstrukturen wie Java Beans in manchen Fällen eine große Herausforderung darstellen; Aber mit OpenCSV ist es möglich, alles verständlicher zu machen und den Zuordnungsprozess in das Java Beans-Format zu ermöglichen.
Ein wesentliches Tool zum Verwalten von CSV-Dateien in Java ist OpenCSV. Diese hoch angesehene Bibliothek verfügt standardmäßig über eine einfach zu navigierende API, die es Ihnen ermöglicht, Dateien mit Headern zu lesen/schreiben und dabei benutzerdefinierte Trennzeichen sowie Escape-Zeichen zu verwenden – ohne ins Schwitzen zu geraten! Ein weiterer großer Vorteil von OpenCSV besteht darin, dass es die vereinfachte Zuordnung kompliziert strukturierter Datensätze direkt zu entsprechenden Bean-Klassen ermöglicht. OpenCSV bietet Benutzern eine effektive Möglichkeit, stilvolle und abwechslungsreiche Inhalte zu erstellen – Verwirrung und Robustheit vereinen sich zu einem optimalen Ergebnis.
将OpenCSV库添加到项目中
步骤 1 - Maven-Datei, pom.xml, OpenCSV-Datei und Maven-Datei.
<dependency> <groupId>com.opencsv</groupId> <artifactId>opencsv</artifactId> <version>4.1</version> </dependency>
Schritt 2 − Für Gradle-Projekte die OpenCSV-Abhängigkeit einschließen
Compile group: "com.opencsv", name: "opencsv", version: "4.1"
Schritt 3 − Sie können auch OpenCSV JAR herunterladen und in Ihren Projektklassenpfad aufnehmen.
第一步 - 创建一个Writer实例, 用于将数据写入CSV文件
Writer writer = Files.newbufferedWriter(Paths.get(file_location));
Schritt 2 - Erstellen Sie eine Liste der Objekte, die in die CSV-Datei geschrieben werden müssen
Schritt 3 - Ordnen Sie mithilfe von ColumnPositionMappingStrategy die Spalten der erstellten Objekte der CSV-Spalte zu
ColumnPositionMappingStrategy mappingStrategy = new ColumnPositionMappingStrategy(); mappingStrategy.setType(Employee.class); //where employee is the object to be mapped with CSV
Schritt 4 - Erstellen Sie ein Objekt der StatefulBeanToCSV-Klasse, indem Sie die Build-Methode der StatefulBeanToCSVBuilder-Klasse mit dem Writer-Objekt als Parameter aufrufen. Je nach Bedarf kann der Benutzer auch −
bereitstellenStatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer) .withMappingStrategy(mappingStrategy) . withSeparator('#') .withQuotechar(CSVWriter.NO_QUOTE_CHARACTER) . build ();
第5步 - Die neueste Version von StatefulBeanToCsv到csv文件中.
beanToCsv.write(Employeelist);Beispiel
Employee.java
public class Employee { public String Name, Age, Company, Salary; public Employee(String name, String age, String company, String salary) { super(); Name = name; Age = age; Company = company; Salary = salary; } @Override public String toString() { return "Employee [Name=" + Name + ", Age=" + Age + ", Company=" + Company + ", Salary=" + Salary + "]"; } }
BeanToCSV.java
import java.io.FileWriter; import java.io.Writer; import java.nio.*; import java.nio.file.Files; import java.nio.file.Paths; import java.util.*; import com.opencsv.bean.ColumnPositionMappingStrategy; import com.opencsv.bean.StatefulBeanToCsv; import com.opencsv.bean.StatefulBeanToCsvBuilder; public class BeanToCSV { public static void main(String[] args) { // name of generated csv final String CSV_LOCATION = "Employees.csv "; try { // Creating writer class to generate // csv file FileWriter writer = newFileWriter(CSV_LOCATION); // create a list of employees List<Employee> EmployeeList = newArrayList<Employee>(); Employee emp1 = new Employee ("Anurag", "24", "HTc", "75000"); Employee emp2 = new Employee ("Amaan", "24", "Microsoft", "79000"); Employee emp3 = new Employee ("Rashi", "26", "TCS", "39000"); Employee emp4 = new Employee ("Varun", "22", "NgGear", "15000"); Employee emp5 = new Employee ("Pranjal", "29", "Sath", "51000"); EmployeeList.add(emp1); EmployeeList.add(emp2); EmployeeList.add(emp3); EmployeeList.add(emp4); EmployeeList.add(emp5); // Create Mapping Strategy to arrange the // column name in order ColumnPositionMappingStrategy mappingStrategy= new ColumnPositionMappingStrategy(); mappingStrategy.setType(Employee.class); // Arrange column name as provided in below array. String[] columns = new String[] { "Name", "Age", "Company", "Salary" }; mappingStrategy.setColumnMapping(columns); // Creating StatefulBeanToCsv object StatefulBeanToCsvBuilder<Employee> builder= new StatefulBeanToCsvBuilder(writer); StatefulBeanToCsv beanWriter = builder.withMappingStrategy(mappingStrategy).build(); // Write list to StatefulBeanToCsv object beanWriter.write(EmployeeList); // closing the writer object writer.close(); } catch (Exception e) { e.printStackTrace(); } } }Ausgabe
EmployeeData.csv CSV file contains: ---- "Anurag", "24", "HTc", "75000" "Amaan", "24", "Microsoft", "79000" "Rashi", "26", "TCS", "39000" "Varun", "22", "NgGear", "15000" "Pranjal", "29", "Sath", "51000"
Das obige ist der detaillierte Inhalt vonZuordnen von Java Beans zu CSV-Dateien mithilfe von OpenCSV. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!