Файл с международни знаци не съществува с Java 7 и стари I/O методи

Имам проблеми с четенето на файлове, чието име има международни знаци в Mac OS X Lion. Работи добре с Java 6, но не и с Java 7. Също така работи с новите I/O класове на Java 7, но бих искал да не променям API за момента.

File f = new File("饮茶.png");
Path p = FileSystems.getDefault().getPath("饮茶.png");
System.out.println("New IO API: " + Files.exists(p));
System.out.println("Old IO API: " + f.exists());

Изход:

Нов IO API: true
Стар IO API: false

Има ли някакъв начин да използвате стария api с Java 7 и международни знаци?


person Ivan    schedule 11.07.2013    source източник
comment
Бих искал да не променям API за момента ‹- просто го направете. Няма причина да се придържате към File повече в Java 7. В най-лошия случай Path има .toFile().   -  person fge    schedule 11.07.2013
comment
Не съм сигурен, че може да се наричат ​​饮茶 международни знаци. Приличат ми на много специфични национални. И все пак въпросът, разбира се, е основателен.   -  person Ingo    schedule 11.07.2013