我正在使用Mac(Snow Leopard)。使用Java,我清除文件内容然后写入它。 这是清除文件的代码:
new File(FileName).delete();
new File(FileName).createNewFile();
之后,当我写文件时,我发现了奇怪的字符;例如: 而不是写作:
它写道:预期'=',',',';','asm'
预期,Äò=,Ä,,,Äò,,ôô,,Äò;,Äô,,,Äòasm,Äô
我确定createNewFile()会导致问题,因为当我将相同的文本写入我手动创建的文件时,不会出现问题。我该怎么办?
感谢。
答案 0 :(得分:2)
你在某处引入了转码错误。
您在Java中将数据编码为UTF-8,但无论您使用什么解码它都将数据视为(可能)MacRoman。
或者,您的Java编辑器将文件保存为UTF-8,并且您的编译器在编译之前将其解码为MacRoman。
阅读this。