我有一个像这样的文件夹:
MyFolder文件:
但如果我在课堂上使用:
File f = new File("file1.xml");
我收到错误,因为它找不到该文件。为什么呢?
答案 0 :(得分:0)
如果您使用的是Windows,则您发布的代码将起作用,但不适用于默认父文件位于您家中的Linux。 但是你可以在任何操作系统中使用:
public class MyClass {
public void loadFile() {
URL url = MyClass.class.getProtectionDomain().getCodeSource().getLocation();
File jar = new File(url.toURI());
File f = new File(jar.getParent(), "file1.xml");
//your code
}
}
PS:这需要在project.jar中,因为你得到了jar文件所在的位置。
答案 1 :(得分:0)
您应该在代码中使用相对路径。
示例:File f = new File("./file1.xml");