Heim  >  Artikel  >  Java  >  Zuordnen von Java Beans zu CSV-Dateien mithilfe von OpenCSV

Zuordnen von Java Beans zu CSV-Dateien mithilfe von OpenCSV

WBOY
WBOYnach vorne
2023-08-21 08:33:201123Durchsuche

使用OpenCSV将Java Beans映射到CSV文件

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.

OpenCSV-Version?

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.

Zuordnung von Java Beans zu CSV mit OpenCSV

OpenCSV und Java Beans Sie haben die Möglichkeit, OpenCSV und Java Beans zu verwenden, um die CSV-Software zu nutzen Beispiele: Java Bean, CSVWriter und Java Bean数据的写入.接下来是将您的Java Bean映射到CSV文件, 提供写入器所需的信息.最后, 使用CSVWriter写入记录, 从而确保您的数据以您希望的方式表达出来。通过这四个步骤, 您将在掌握使用OpenCSV将Java Beans映射到CSV的艺术方面迈出坚实的一步.

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

Zuordnung von Java Beans zu CSV

  • 第一步 - 创建一个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 −

    bereitstellen
  • Die StatefulBeanToCSVBuilder-Version mit MappingStrategy und die ColumnPositionMappingStrategy-Funktion werden verwendet.

  • Trennzeichen der generierten CSV-Datei mit Hilfe der withSeparator-Funktion des StatefulBeanToCSVBuilder-Objekts.

  • StatefulBeanToCSVBuilder wird mit Quotechar verwendet und CSV-Dateien werden mit Quotechar verwendet.

  • StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer)
    .withMappingStrategy(mappingStrategy)
    . withSeparator('#')
    .withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)
    . build ();
    
  • 第5步 - Die neueste Version von StatefulBeanToCsv到csv文件中.

  • beanToCsv.write(Employeelist);
    
Beispiel

我们的目标是创建一个包含重要属性(如姓名、年龄、公司和薪水)的员工对象的综合列表。然后,我们将生成一个名为Employees.csv的CSV文件,其中包含员工对象。

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"

结论

Open CSV von Java ist ein leistungsstarkes Tool, das das Lesen und Schreiben von CSV-Dateien vereinfacht. Wenn Sie also eine einfachere Möglichkeit zum Umgang mit komplexen Datenstrukturen in Ihren CSV-Dateien benötigen, sind Sie bei Open CSV genau richtig – dem Tool, das Java-Beans in das Format zuordnet . Eine einfache Definition der Java Bean in Verbindung mit deren Zuordnung zu CSV reicht aus, um über diese wenigen Codezeilen einen gut geschriebenen CSV-Datensatz zu erstellen, und die Flexibilität und Zuverlässigkeit von Open CSV machen es zu einer wichtigen Komponente für die effektive Verwaltung von CSV-Dateien in Daten. gesteuerte Anwendungen.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen