【发布时间】:2015-11-01 16:11:50
【问题描述】:
Apache commons CSV Parser 类抛出异常
“在封装令牌完成之前到达 EOF”
伪代码
CSVParser csvParser = CSVParser.parse(fileChunkString, CSVFormat.DEFAULT);
错误的原因是我的 CSV 文件被分块解析,即我没有一次传递整个文件内容,而是其中的一部分,并且错误是有道理的,因为不保证会遇到关闭标记
例如,字符串可以是 a1,b1,c1,d1,e1,f1\na,b,"csdsds,,因为您会看到第二行中缺少右引号。
我想修改库源代码以记住最后一行并将其与文件内容的下一个块合并,例如:下一个块可能是dfdfd",a,c,所以我的内容变为a,b,"csdsds,dfdfd",a,c
通过源代码我看到的第一步是我需要扩展Lexer.java并覆盖该方法,因为这个类正在抛出上述EOF异常,并且还要扩展CSVParser.java类
但是,问题是这些类被声明为 final,我不能扩展它们。我想了解为什么这些类被声明为 final?
【问题讨论】:
标签: java csv apache-commons-csv