获取正在执行的类的文件系统路径
有没有办法在运行时从这个类的代码中确定已执行类的当前文件系统位置,因为它是使用命令执行的?java
例如,对于以下类:
public class MyClass{
public static void main(String[] args){\
new MyClass().doStuff();
}
private void doStufF(){
String path = ... // what to do here?!
System.out.println("Path of class being invoked: " + path);
}
}
有没有办法在MyClass的文件系统中获取并打印正确的路径.class文件只是被调用?
同样,如果我从命令调用jar文件,有没有办法从该jar内的类中获取jar文件的路径?java -jar
P.S.:P请注意,不要对从中调用命令的工作目录做出任何假设!java