java - 使用 opencsv 将 csv 文件解析为类 getter 方法

标签 java arraylist opencsv

我正在尝试使用 opencsv 传递 csv 文件。csv 文件有三列 (,)。如何使用相应的值将每一行解析到数组列表中?请参阅下面的代码。

public class Customer { 

    private String accNum;  
    private String fName;   
    private String lName;   

    public Customer(String accNum, String fName, String lName) {        

    this.accNum = accNum;
    this.fName = fName;
    this.lName = lName;
     }

    //getters & setters
    ...
}

public class CustomerList{

public void getCustList(File file) throws IOException {     
    List <Customer> custList = new ArrayList <Customer>();
    CSVReader reader = new CSVReader (new FileReader (file));
    String [] header = reader.readNext();       
    List<String[]> cList = reader.readAll();

    for (int i =0 ; i < cList.size(); i++)
    {
        String[] line = cList.get(i); //not sure how to do this
        for (String list: line)
        {
            custList.add( new Customer (list));// constructor takes three arguments
        }
    }
}

最佳答案

它有点像 JDBC ResultSet。

List <Customer> custList = new ArrayList <Customer>();
CSVReader reader = new CSVReader (new FileReader (file));
String[] header = reader.readNext();
if (header == null)
{
    throw new RuntimeException("No header");
}

String[] row;
while ((row = reader.readNext()) != null)
{
    if (row.length != 3) {
        throw new RuntimeException("Unexpected number of entries: " + row.length);
    }
    custList.add(new Customer(row[0], row[1], row[2]));
}

关于java - 使用 opencsv 将 csv 文件解析为类 getter 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10964975/

相关文章:

java - 从数组列表中检索数据

java - 如何将对象从 ArrayList 的一个位置读取到另一个 ArrayList 中的同一位置

java - 如何更改此设置,使它无法实现我想要的方式?

java:openCSV 未在递归循环中写入文件?

java - 何时初始化具有默认方法的接口(interface)?

java - 约束不起作用?

java - ANDROID Sqli 游标仅返回 1 行之后它给出空异常

java - ArrayIndexOutOfBoundsException - 解析 csv 文件时

java - 尝试写入 excel 中的空/空白单元格会导致 java.lang.NullPointerException

java - Spring data jpa left join fetch 和 where 子句