双击jar并在mac上从命令提示符运行相同jar时的不同行为

时间:2013-07-15 11:26:57

标签: java encoding filenotfoundexception jfilechooser

我的代码在Mac OS X 10.8.2上表现得非常奇怪。我有一个名为“HorváthJó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类型读取时,它不会被识别为目录和文件 - 我得到FileNotFoundException

从命令行启动JAR是否以不同于双击JAR的方式运行JAR? 我使用的是Java 7u17。

1 个答案:

答案 0 :(得分:0)

如果从命令行运行它,可能会以稍微不同的方式运行,而不是通过双击来运行它。如果您想确保一切正常,请不要在文件夹/文件名中包含特殊字符。