我讀Java中的CSV文件CSV文件,添加新的信息,新的列和出口回一個CSV文件。在以UTF-8格式讀取CSV文件時遇到問題。我一行一行讀取並將其存儲在StringBuilder
中,但是當我打印該行時,我可以看到我正在閱讀的信息不是UTF-8,而是ANSI。我以UTF格式使用了System.out.print
和printstream
,並且信息仍然顯示在ANSI中。這是我的代碼:閱讀UTF-8格式
BufferedReader br;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
"./users.csv"), "UTF8"));
String line;
while ((line = br.readLine()) != null) {
if (line.contains("[email protected]")) {
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 {
}
它打印出像「Professor-P s」這樣的信息。由於讀取操作不正確,新文件的輸出也以ANSI格式導出。
試過它已經不工作:) – Ricardo
你確定你的文件進來UTF-8,你可以在啓用編輯器打開它?在Windows中,您可以使用Notepad ++查看源文件格式。 – Marcelo
我用excel和notepad ++檢查了源代碼,它顯示源代碼是UTF-8。 – Ricardo