Javaでcsvファイルを読み込んで、新しい情報を含む新しい列を追加し、それをCSVファイルにエクスポートしています。UTF-8 形式の CSV ファイルの読み取りに問題があります。行ごとに読み取り、に保存しStringBuilder
ますが、行を印刷すると、読み取っている情報が UTF-8 ではなく ANSI であることがわかります。System.out.print
とprintstream
UTF の両方を使用しましたが、情報は引き続き ANSI で表示されます。これは私のコードです:
BufferedReader br;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
"./users.csv"), "UTF8"));
String line;
while ((line = br.readLine()) != null) {
if (line.contains("none@none.com")) {
continue;
}
if (!line.contains("@") && !line.contains("FirstName")) {
continue;
}
PrintStream ps = new PrintStream(System.out, true, "UTF-8");
ps.print(line + "\n");
sbusers.append(line);
sbusers.append("\n");
sbusers2.append(line);
sbusers2.append(",");
}
br.close();
} catch (IOException e) {
System.out.println("Failed to read users file.");
} finally {
}
「教授-P�s」のような情報を出力します。読み取りが正しく行われていないため、新しいファイルへの出力も ANSI でエクスポートされています。