【问题标题】:Writing into file results in gibberish Java写入文件会导致 Java 乱码
【发布时间】:2016-06-12 15:46:47
【问题描述】:

我正在尝试使用 write.write() 函数将一些数字写入 *.txt 文件。当我用记事本打开创建的文件时,我看到乱码,但是当我用记事本++打开时,文件没问题。谁能解释为什么会这样?

try {
        for(int i = 0; i < predictionsList.size(); i ++){
            writer.write(Integer.toString(predictionsList.get(i)));
            writer.write("\n");
        }

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

【问题讨论】:

  • 请显示您用于编写文件的代码。
  • 可能是字符编码问题
  • 请给我们看代码。但我可以想象你在做什么。在记事本++中打开的文件显示正常,而不是在记事本中只意味着一件事。行结束符。 Notepad 要求它是 \r\n,但 Notepad++ 可以理解它是 \r 还是 \n 或两者兼而有之。检查您的代码在做什么,请发布尽可能多的详细信息。
  • 您可能正在编写一个没有正确字节顺序标记的 Unicode 文件。去谷歌上查询。 Notepad++ 可能会进行完整性检查并将其作为 Unicode 处理,即使缺少字节顺序标记,而 Notepad 只会将其读取为 ANSI。

标签: java file writer


【解决方案1】:

您在问题中提供的信息还不够,即使我们可以推断您的问题与您正在编写的文本文件的编码有关

验证BOM格式,notepad++中默认选中

【讨论】:

    猜你喜欢
    • 2018-09-19
    • 2022-01-08
    • 1970-01-01
    • 2019-02-26
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多