我有一个非常基本的问题。我需要一个 URL 对象,但该文件位于相对于项目的上一个目录中。
例如,如果我这样做
File testFile = new File("../../data/myData.xml");
工作正常,它找到文件
然而
URL testURL = new URL("file:///../../data/myData.xml")
给出一个
线程"main"中的异常 java.io.FileNotFoundException:/../../data/myData.xml
任何想法,如何解决,解决这个问题? 在不改变数据位置的情况下
?提前非常感谢Altober
你可以使用它
URL testURL = new File("../../data/myData.xml").toURI().toURL();
/**
* @param args
*/
public static void main(String[] args) {
try {
URL testUrl = new URL("file://C:/Users/myName/Desktop/abc.txt");
System.out.println(testUrl.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
上面的代码是工作文件,刚刚测试过它,所以你需要使用 file://,如果可能的话,尝试完整路径
线程"main"中的异常 java.io.FileNotFoundException:/../../data/myData.xml
请注意,它正在查找根目录的父目录,而不是当前目录的父目录。
我不知道文件URL是否可以引用相对路径,请尝试
'new URL("file://../../data/myData.xml")''