您好,欢迎访问一九零五行业门户网

使用 OpenCSV 将 CSV 映射到 JavaBean

csv文件基本上是以逗号分隔的列存储数据的纯文本文件。opencsv是解析这些csv文件的库,否则很难处理。它是一个非常易于使用的库,支持读写带有标题的csv文件等多个功能。
在本文中,我们将讨论通过opencsv将csv文件映射到javabeans的过程。此外,opencsv是一个在这个过程中有帮助的工具。
将 csv 映射到 javabeanopencsv库提供了一些类和映射策略,用于将csv文件映射到java beans。其中一个类是csvtobean,用于将csv文件映射到javabeans。要解析这些csv文件,csvtobean类需要定义并传递给csvtobean类的映射策略。其中一个流行的映射策略是headercolumnnametranslatemappingstrategy,它将列id映射到java bean属性。
语法csv 文件到 bean 的映射是通过一系列步骤完成的。然而,创建具有列 id 和梁属性之间的映射的 hashmap 的语法如下 -
hashmap map = new hashmap();map.put(column_id, bean_property);
首先,我们创建了一个 hashmap,然后使用 hashmap 的 put() 函数将列 id 与相应的 java bean 属性进行映射。
算法第一步 - 首先使用以下依赖项将opencsv添加到java项目中。
对于 maven 项目,将以下依赖项添加到 java 项目 -
<dependency> <groupid>com.opencsv</groupid> <artifactid>opencsv</artifactid> <version>4.1</version></dependency>
对于一个gradle项目,你需要添加以下依赖项 -
compile group: 'com.opencsv', name: 'opencsv', version: '4.1'
第 2 步 - 现在,让我们开始将 csv 文件映射到 java bean 的基本步骤。
步骤 3 - 使用列 id 和 bean 属性之间的映射创建一个 hashmap。
步骤 4 - 添加与 bean 属性对应的 csv 文件的所有列 id。
步骤 5 − 创建 headercolumnnametranslatemappingstrategy 对象。
第 6 步 - 现在,将映射的哈希图传递给 setcolumnmapping() 方法。
第 7 步 - 调用 csvtobean 和 csvreader 类的对象。
第8步 - 现在,我们将调用csvtobean类的解析方法,并将headercolumnnametranslatemappingstrategy和csvreader对象传递给它。
第 9 步 - 打印 bean 对象的详细信息。
方法现在,让我们使用opencsv将employee.csv文件的内容映射到javabeans。employee.csv文件包含员工姓名、部门和薪水等数据。
employee.csv文件的内容如下:
employee_name, department, salarynaman, human resource, 45000nikita, sales, 35000rocky, it, 50000raman, human resource, 42000
现在,让我们首先创建 employee 类,然后创建将该 csv 文件的内容映射到 javabeans 的 main 方法。
示例:employee.javapublic class employee { private static final long serialversionuid = 1l; public string emp_name, department, salary; public string getname() { return emp_name; } public void setname(string n) { emp_name = n; } public string getsalary() { return salary; } public void setsalary(string s) { salary = s; } public string getdepartment() { return department; } public void setdepartment(string d) { d = department; } public string tostring() { return employee [name= + emp_name + , department= + department +, salary = + salary+ ]; }}
以下是csvtobean.java文件的程序代码。
示例import java.util.*;import com.opencsv.csvreader;import com.opencsv.bean.csvtobean;import com.opencsv.bean.headercolumnnametranslatemappingstrategy;public class csvtobean { public static void main(string[] args) { map<string, string> map = new hashmap<>(); map.put(employee_name, emp_name); map.put(department, department); map.put(salary, salary); headercolumnnametranslatemappingstrategy<employee> s = new headercolumnnametranslatemappingstrategy<>(); s.settype(employee.class); s.setcolumnmapping(map); csvreader csvreader = null; try { csvreader = new csvreader(new filereader (d:\csvfiles\employee.csv)); } catch (filenotfoundexception e) { e.printstacktrace(); } csvtobean csvtobean = new csvtobean(); list<employee> l = csvtobean.parse(s, csvreader); for (employee x : l) { system.out.println(x); } }}
输出employee [name=naman, department=human resource, salary=45000]employee [name=nikita, department=sales, salary=35000]employee [name=rocky, department=it, salary=50000]employee [name=raman, department=human resource, salary=42000]
如您在上述程序代码中所见,我们首先创建了一个哈希映射,将列id与相应的bean属性进行映射。然后,我们为employee类实现了headercolumnnametranslatemappingstrategy策略,并将其传递给csvtobean类的parse方法,以使用opencsv将csv映射到javabean。
结论在本文中,我们研究了如何使用 opencsv 将 csv 文件映射到 javabean。所讨论的执行此操作的简单技术是使用 csvtobean 类和传递给 csvtobean 类的对象的映射策略。我们讨论了使用 opencsv 将 csv 格式的员工数据解析为 javabean 的步骤和程序代码。
以上就是使用 opencsv 将 csv 映射到 javabean的详细内容。
其它类似信息

推荐信息