大家好,有个好消息。
我在我的Mac OS上发现了一个与Java相关的有趣问题。
我将一个文件以非拉丁字符的名称命名,并放置在test文件夹中,完整路径为/Users/dnelepov/Downloads/test/тест изображение.png
正如您所看到的,文件已存在!
接下来,我编写了一些代码来查看/Users/dnelepov/Downloads/test/文件夹中的所有文件并打开文件进行读取(例如):
File dirF = new File("/Users/dnelepov/Downloads/test/");
File[] files = dirF.listFiles();
for (File oneF : files) {
System.out.println("FILE:" + oneF);
if (oneF.exists()){
System.out.println("EXISTS:"+oneF);
}
}
但接下来我得到了这个:
如您所见,行EXSIS:从未被打印出来,但文件是找到的!
同时打印系统属性:
file.encoding=UTF-8
p.s.
我之前问过类似类型的问题Java java.io.filenotfoundexception for file path with cyrillic characters - 但是我认为这个问题不仅适用于西里尔文字母 - 适用于所有非拉丁语言。