2015-11-01 52 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