我有这样的csv文件:-
a,b,c,d //<- header
0.1,0.123,2.13,3.22
0.3,0.213,2.11,3.12
0.5,0.231,2.3,3.21
0.7,0.121,2.26,3.321
我正在使用apache commons csv读取csv文件。
我已经制作了与上述csv文件相对应的POJO,并将其命名为CSVInputFileModel类。
以下是我用来读取文件的方法:-
private List<CSVInputFileModel> inputCSVData;
void fileParser() throws IOException {
Reader in = new FileReader(INPUT_CSV_FILE);
Iterable<CSVRecord> records = CSVFormat.RFC4180.withFirstRecordAsHeader().parse(in);
for (CSVRecord record : records) {
// Adding each record to array list
CSVInputFileModel csvInputFileModel = new CSVInputFileModel();
csvInputFileModel.setA(Double.parseDouble(record.get("a")));
csvInputFileModel.setB(Double.parseDouble(record.get("b")));
csvInputFileModel.setC(Double.parseDouble(record.get("c")));
csvInputFileModel.setD(Double.parseDouble(record.get("d")));
inputCSVData.add(csvInputFileModel); //<-- NPE at second iteration
}
System.out.println(inputCSVData);
}
下面是CSVInputFileModel类
public class CSVInputFileModel {
private double a;
private double b;
private double c;
private double d;
public CSVInputFileModel() {
}
//All args constructor
//hashcode equals
//getter setters
//toString
}
以下代码给出了空指针异常。当我运行调试器时,我发现在第一次迭代中,apache csv commons能够读取csv文件的第一条记录,而第二次迭代则给出了空指针异常。
我无法弄清楚我做错了什么!
HUWWW
相关分类