我正在使用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
我知道我很亲密,但需要一些帮助。
答案 0 :(得分:2)
问题不在于文件名,而在于用于读取日志的字体。如果要将日志定向到文件,请尝试在兼容unicode的编辑器中读取它,还要确保日志使用的是BufferedWriter或类似的类(用于写入文件/屏幕)。