我有一个简单的Java类:
public class T {
public static void main(String[] args) {
System.err.println(Thread
.currentThread()
.getContextClassLoader()
.getResource("."));
}
}
在Windows上运行上面的类:
file:/T:/java/
在Linux上运行时我得到了不同的东西:
jar:file:/usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/pulse-java.jar!/
这个问题导致我的程序在Linux上失败,因为它无法找到我指定的文件。关于如何解决它的任何想法?
答案 0 :(得分:2)
程序的当前目录可能在或可能不在类路径中,具体取决于程序的执行方式。如果您需要获取可能在jar文件中或可能在当前目录中的内容,那么您应该使用两个单独的检查:
new File("")
获取当前工作目录。)