我知道这个问题已被问到很多,但以前的答案似乎都不适合我。
如果我将我的应用程序设置为可执行的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();
}
}
答案 0 :(得分:0)
System.getProperty("user.dir");
答案 1 :(得分:0)
您是否尝试过Path类?它拥有您所寻找的一切。