我的代码在 Mac OS X 10.8.2 上的行为非常奇怪。我有一个名为“Horváth József”的文件夹,其名称中有一些特殊字符。我想用JFileChooser
. 当我通过双击 JAR 运行我的程序时,它不会显示名称中包含特殊字符的所有文件夹,但是当我从命令提示符运行相同的程序时java -jar test.jar
,它会显示所有文件夹,包括该文件夹有一个特殊的名字。
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Encoding {
public static void main(String[] arg) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception ex) {
}
JFileChooser chooser = new JFileChooser(".");
chooser.showOpenDialog(null);
}
}
名称中有一个DKF}æßj
带有特殊字符的文件夹。它没有出现在文件选择器中,当我尝试使用 FILE 类型读取时,它没有被识别为 Directory 和 File - 我得到一个FileNotFoundException
.
从命令行启动 JAR 是否以不同于双击 JAR 的方式运行 JAR?我正在使用 Java 7u17。