Проблемы кодирования имен файлов Java 7 в OS X
У меня есть следующий код:
public static void main( String[] args ) {
System.out.println(Locale.getDefault());
File f = new File("/Users/johngoering/Documents");
File[] fs = f.listFiles();
for (File ff : fs) {
System.out.println(ff.getName());
System.out.println(ff.exists());
}
}
В моей папке «Документы» есть файл с именем & quot; & # xF6; & # xDF; .pdf & quot ;. Вот вывод под Java 6:
en_US
(...)
öß.pdf
true
(...)
Но вот вывод под Java 7:
en_US
(...)
o����.pdf
false
(...)
Особенно обратите внимание, чтоfile.exists
возвращаетсяfalse
для файла, возвращенногоlistFiles
!!
What gives? Is there any way to fix this? This seems like quite the Java 7 bug...