java - 双击jar并在Mac上的命令提示符下运行同一jar时的不同行为

标签 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。

最佳答案

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

关于java - 双击jar并在Mac上的命令提示符下运行同一jar时的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17653169/

相关文章:

Java:我将如何遍历一个未满到其最大大小的数组。

java - 为什么在空引用上调用(静态)方法不会抛出 NullPointerException?

java - 无法转换为 char 吗? : operator

java - 需要标识符吗?

java - 使用java从以WE8ISO8859P1编码的Oracle数据库读取阿拉伯文本

ruby-on-rails - 在 Rails 3 表单中处理非 utf-8 数据提交的最佳方式是什么?

python - lxml unicode字符

java - 如何读取位于项目文件夹Java中的文件

java.io.FileNotFoundException : D:\Servers\apache-tomcat-7. 0.27\webapps\acct\accesscarddata (访问被拒绝)

Android:如何访问SD卡中的文件