-1

我的 OS X 的默认字符集是“UTF-8”,这与我正在处理的 Java 项目相同。问题是当路径包含中文字符时,File 类及其某些方法无法正常工作。(一般unicode表示一个汉字需要3个字节)

比如我先发起一个String variable = "xxx",其中"xxx"是一个包含汉字的有效路径。之后,我通过 new File(prevStringVar) 创建了一个 File 对象。并且当调用 exists() 方法时,它总是返回 false。

调用 listFiles() 方法时更加连线。

我认为如果可以在实例化 File 对象时指定 Charset,例如构造函数 File(String path, Charset charset),问题就会得到解决。

4

1 回答 1

1

只需将方法调用为file = new File("afile")即可在 Java 代码中创建文件对象的实例。这实际上不会在您的文件系统中创建文件,直到您向其写入内容并刷新缓冲区(关闭将刷新缓冲区)。

尝试使用简单的英文单词,例如“afile”,而不是包含中文字符。这将消除字符编码的问题。一旦你在那里工作,然后更改文件名,看看你的问题是否得到解决。

于 2012-11-16T20:16:26.667 回答