基本上,我的程序会将数据转换为.CSV格式。但是,我遇到了一个错误,当我在excel中打开文件时,它可以正常显示我的数据,但是在记事本中时,它会变成一些字符㈬㥙〳㈬㥙ㄳ㌬かㄹ㌬か㌹㌬ㅋㄳ㌬ㅋ㈳㌬ㅋ㌳㌬ㅋ㐳

这是我的代码行

String resultString = stringWriter.toString();
for ( String cheese: pie.keySet() ) {
    resultString += System.getProperty("line.separator") + cheese + "," +
    pie.get(cheese).toString();

    resultString = resultString.replaceAll(",$" , "").replaceAll(" ", "");
}

this.WriteToFile(resultString);


我有多个使用此方法删除空间的文件,但只有此文件有错误。我尝试了多种方法,例如在第一个resultString之前和pie.get(cheese).toString()的后面将其删除。

还尝试了.replace(" ", "");replaceAll("\\s","")

最佳答案

数据包含特殊字符。这些字符无法使用默认编码正确显示。因此,在编写/创建文本/ csv文件时,还应将字符编码设置为UTF-8。您可以在JAVA程序本身中执行此操作。

10-08 16:34