4

改行が埋め込まれた1つのフィールドを持つ5つのフィールドを含むcsvファイルがあります。CSVReader[OpenCSV]を使用してcsvファイルを完全に読み取ることができます。改行が埋め込まれているにもかかわらず、個々のフィールドを取得することもできます。しかし、同じ方法ですべてのフィールドを含む別のcsvファイルを作成したいのですが、「埋め込み改行」のみを無視し、従来の行末改行は無視したいと思います。誰かが私にこれを達成する方法を教えてもらえますか?

以下のコードを使用していますが、どういうわけか「\n」を「」に置き換えることができません。System.out.println(tempLine [0]);の出力 まだ埋め込まれた改行が含まれています。

CSVReader reader = new CSVReader(new FileReader(INPUT_FILE), ',');  
CSVWriter writer = new CSVWriter(new FileWriter(OUTPUT_FILE), ',');  
String [] nextLine;  
String [] tempLine = new String[1];    
while ((nextLine = reader.readNext()) != null)  
{  
   System.out.println("Tweet: " + nextLine[3] + "\nSentiment: " +  nextLine[4]);  
   tempLine[0] = nextLine[3].replace("\\n", "");  
   System.out.println(tempLine[0]);  
   writer.writeNext(tempLine);    
}

ご協力ありがとうございました!

4

2 に答える 2

2

1 行読み込んだ後、各フィールドを調べて、見つかった改行をすべて削除します。

String[] newFields = new String[fields.length];
i=0;
for (String field : fields)
{
    newFields[i++] = field.replace("\\n","");
}

次に、OpenCSV を使用して newFields を書き戻します。

于 2012-02-08T06:22:33.263 に答える