1

我有一些写入文本文件的 Java 代码,指定 UTF-8 作为编码。

现在,一些写入的文件一<U+FEFF>开始就包含一个字符,这给使用该文件的其他程序造成了混乱。

我无法更改其他程序的行为,也无法在外部对文件进行后处理,因为它们可能位于另一台机器上。

有没有办法在将此字符添加到开头的情况下编写文件?

4

1 回答 1

3

Java 不应将此字符添加到 UTF-8 文件中,只有在编写 UTF-16 时(未指定 UTF-16LE 或 UTF-16BE 时)。所以,看起来这个字符已经在你输出的数据中了。因此,只需检查要写入的第一个字符,如果是 BOM,则将其保留。

如果这没有帮助,您必须显示您的代码。

于 2011-03-03T11:25:27.457 回答