java.net.URL引用父目录中的文件

时间:2014-02-20 15:09:10

标签: java file path

我有一个非常基本的问题。我需要一个URL对象,但该文件位于相对于项目的上一个目录中。

例如,如果我这样做

File testFile = new File("../../data/myData.xml");

工作得非常好,它找到了文件

然而,

URL testURL = new URL("file:///../../data/myData.xml")

给出

线程“main”中的异常java.io.FileNotFoundException:/../../ data / myData.xml

任何想法,如何解决,解决这个问题?没有改变数据的位置?

提前多多感谢 Altober

3 个答案:

答案 0 :(得分:2)

你可以用这个

URL testURL = new File("../../data/myData.xml").toURI().toURL();

答案 1 :(得分:1)

/**
 * @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://并且如果可能的话尝试完整路径

答案 2 :(得分:0)

  

线程“main”中的异常java.io.FileNotFoundException:/../../ data / myData.xml

请注意,它正在查找根目录的父目录,而不是当前目录。

我不知道文件网址是否可以引用相对路径,请尝试

'新网址(“file://../../data/myData.xml”)''