opencsv を使用して csv ファイルを読み取っているときに、文字列の末尾に「\」があると正しく機能しません。必要に応じて「\」ではなく、文字列の " 部分を作成します。別の「\」を追加して、代わりに「\」文字をエスケープさせる方法が必要だと思いますか?手動で編集する必要はありませんcsv ファイルを検索しましたが、何も見つかりませんでした。
私の問題を明確にするために、次のようになります。
csvファイル
"A", "B", "C", "D"
"value 1", "value 2", "value 3", "value 4"
"value 5", "value 6\", "value 7", "value 8"
私のコードは次のようになります(実際にはそうではありませんが、私の問題を示しています):
String inFile = "in.csv";
CSVReader reader = new CSVReader(new FileReader(inFile));
String[] line;
while ((line = reader.readNext()) != null) {
for (int i = 0; i < line.length(); i++) {
System.out.println(i + " " + line[i]);
}
}
これを、行ごとにそれぞれ 4 つの要素を持つ String[] に解析したいのですが、次の出力に示すように、最後の行は 2 つの要素にしか解析されません。
1 A
2 B
3 C
4 D
1 value 1
2 value 2
3 value 3
4 value 4
1 value 5
2 value 6",value 7,value 8
リーダーを次のように変更しようとしました。
CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(inFile), "UTF-8"));
しかし運がない。