Java: JFileChooser получает международные имена файлов - PullRequest
2 голосов
/ 20 сентября 2011

Я использую JFileChooser и получаю имена файлов с китайскими символами в них.JFileChooser отображает их правильно, и я хочу иметь возможность захватывать эти имена файлов и отображать их обратно пользователю.

У меня есть имя файла: 03 玩 愛 之 徒 .mp3

Но я заканчиваюдо отображения: 03 ????. mp3

В моем коде я получаю ...

File f1 = fileChooser.getSelectedFile();
log("f1="+ f1.getName());                         // gets me 03 ????.mp3
byte[] fname1 = f1.getName().getBytes();          // gets me [B@3f72c47b  
byte[] fname2 = f1.getName().getBytes("UTF-16");  // gets me [B@411b1d80

Я знаю, что я близко, но мне нужна небольшая помощь.

1 Ответ

2 голосов
/ 20 сентября 2011

Проблема не в имени файла, а в шрифтах, которые используются для чтения журналов.Если вы направляете журналы в файл, попробуйте прочитать его в совместимом с юникодом редакторе. Также убедитесь, что журнал использует BufferedWriter или аналогичный класс (для записи в файл / экран).

...