0

我知道这个问题已经被问了很多,但以前的答案似乎都不适合我。

如果我让我的应用程序成为一个可执行的 Jar,有没有办法知道 Jar 在执行时在文件系统上的位置?我的应用程序需要知道,所以它可以从它的 jar 中提取一个文件夹(通过将其视为一个 zip 文件)到指定的目录。

编辑:感谢所有做出贡献的人,但我认为这是一个死胡同。我得试试别的。很抱歉浪费了大家的时间。我会继续检查这个问题,所以如果有人破解它,请回答:D

对于它的价值,这是我的测试代码:

    package jarProblem;

import java.io.File;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

public class Main {

    public Main () {

        ClassLoader loader = Main.class.getClassLoader();

        String path = loader.getResource("jarProblem/Main.class").getPath();

        File file = new File(path);

        String pathToJar = file.getParentFile().getAbsolutePath();

        JOptionPane.showMessageDialog(new JFrame(), new JLabel(pathToJar),"CurrentFolder", JOptionPane.PLAIN_MESSAGE);

        System.exit(0);
    }

    public static void main (String[] args) {

        new Main();
    }

}
4

2 回答 2

0

您是否尝试过 Path 课程?它拥有您正在寻找的一切。

于 2013-03-04T13:34:43.410 回答
0
System.getProperty("user.dir");
于 2013-03-04T13:32:31.613 回答