Проблемы кодирования имен файлов 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());
}
}
В моей папке «Документы» есть файл с именем «öß»..pdf», Вот вывод под Java 6:
en_US
(...)
öß.pdf
true
(...)
Но вот вывод под Java 7:
en_US
(...)
o����.pdf
false
(...)
Особенно обратите внимание, чтоfile.exists
возвращаетсяfalse
для файла, возвращенногоlistFiles
!! Что дает? Есть ли способ это исправить? Это похоже на ошибку Java 7 ...