2015-11-01 53 views
0

阿帕奇百科全书CSV解析类抛出一个异常为什么类中声明为final的阿帕奇百科全书CSV库

“EOF达到之前封装标记完成”

的伪代码

CSVParser csvParser = CSVParser.parse(fileChunkString, CSVFormat.DEFAULT); 

错误的原因是我的CSV文件被大块分析,即我没有立即传递整个文件内容,但它的一大块,和错误r是有意义的,因为关闭标记不保证会遇到

字符串示例可以是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?

回答

3

但是,问题是,这些类是否宣告为final,并且我不能 扩展它们。我想了解为什么这些类声明为 最终?

类是final或主要原因是限制可见性是这样Apache可以对类进行内部更改而不用担心用户扩展或访问这些内部部分。只要班级不是最终的,你必须将所有protected字段视为暴露的API。

在你的情况下,我会提出commons-developer邮件列表的问题,看看可以做些什么。 Commons CSV目前正在快速发展。

+0

这很有意义,谢谢你推荐的通用开发者邮件,我在哪里可以找到它? – prasun

+0

https://commons.apache.org/mail-lists.html – Pavan

+0

@Pavan谢谢你 – prasun