java - 写入文件时出现奇怪的字符 (Mac) (Java)

标签 java file-io osx-snow-leopard

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

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

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

expected ‘=’, ‘,’, ‘;’, ‘asm’

它写道:

expected ‘=’, ‘,’, ‘;’, ‘asm’

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

谢谢。

最佳答案

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

您在 Java 中将数据编码为 UTF-8,但无论您使用什么方式对其进行解码,都会将数据视为(可能)MacRoman。

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

阅读this .

关于java - 写入文件时出现奇怪的字符 (Mac) (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7640932/

相关文章:

java - Kafka Java SimpleConsumer奇怪的编码

java - 捕获所有异常并返回 Jersey 中的自定义错误

java - 如何搜索长度分隔的字典

objective-c - Mac环境下objective-c如何使用USB/HID接口(interface)

python - scrapy 需要 python 2.7 但我已经有了

Java vector 帮助

C++ (Visual Studio),无法将数字 '10' 写入文件,所有其他数字都有效吗?

html - 是否可以在 html5 中验证 input=file 的大小和类型

grails - Grails初学者问题 “Failed to invoke Servlet 2.5”

java - Spring Boot仅在表单中使用@valid验证特定属性