我有一些写入文本文件的Java代码,将UTF-8指定为编码。
现在,一些编写的文件在一开始就包含一个<U+FEFF>
字符,这会为使用该文件的其他程序造成混乱。
我无法更改其他程序的行为,并且我无法在外部对文件进行后期处理,因为它们可能位于另一台计算机上。
有没有办法编写文件而不将此字符添加到开头?
答案 0 :(得分:3)
只有在编写UTF-16时(不指定UTF-16LE或UTF-16BE时),Java不应将此字符添加到UTF-8文件中。因此,您输出的数据中似乎已经存在此字符。因此,只需检查要写入的第一个字符,如果是BOM,请将其保留。
如果这没有帮助,您必须显示您的代码。