Java:JFileChooser获取国际文件名

时间:2011-09-19 21:37:20

标签: java swing jfilechooser

我正在使用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 个答案:

答案 0 :(得分:2)

问题不在于文件名,而在于用于读取日志的字体。如果要将日志定向到文件,请尝试在兼容unicode的编辑器中读取它,还要确保日志使用的是BufferedWriter或类似的类(用于写入文件/屏幕)。