写入文件时奇怪的字符(Mac)(Java)

时间:2011-10-03 21:32:58

标签: java file-io osx-snow-leopard

我正在使用Mac(Snow Leopard)。使用Java,我清除文件内容然后写入它。 这是清除文件的代码:

   new File(FileName).delete();
   new File(FileName).createNewFile();

之后,当我写文件时,我发现了奇怪的字符;例如: 而不是写作:

  

预期'=',',',';','asm'

它写道:

  

预期,Äò=,Ä,,,Äò,,ôô,,Äò;,Äô,,,Äòasm,Äô

我确定createNewFile()会导致问题,因为当我将相同的文本写入我手动创建的文件时,不会出现问题。我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:2)

你在某处引入了转码错误。

您在Java中将数据编码为UTF-8,但无论您使用什么解码它都将数据视为(可能)MacRoman。

或者,您的Java编辑器将文件保存为UTF-8,并且您的编译器在编译之前将其解码为MacRoman。

阅读this