0

Apache commons CSV パーサー クラスが例外をスローする

「カプセル化されたトークンが終了する前に EOF に達しました」

擬似コードの

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

エラーの理由は、CSV ファイルがチャンクで解析されるためです。つまり、ファイルのコンテンツ全体を一度に渡すのではなく、そのチャンクを渡します。終了トークンが発生することが保証されていないため、エラーは理にかなっています。

例の文字列はa1,b1,c1,d1,e1,f1\na,b,"csdsds,、2 行目の終了引用符が欠落していることがわかります。

ライブラリのソースコードを変更して、最後の行を記憶し、それをファイルコンテンツの次のチャンクとマージしたい例: 次のチャンクはdfdfd",a,c、コンテンツがa,b,"csdsds,dfdfd",a,c

ソースコードを確認する最初のステップは、Lexer.java を拡張し、このクラスが上記の EOF 例外をスローしているためメソッドをオーバーライドし、CSVParser.java クラスも拡張する必要があることです

しかし、問題は、これらのクラスが final として宣言されており、それらを拡張できないことです。これらのクラスが final として宣言されている理由を理解したいですか?

4

1 に答える 1