Netbeans:尝试加载文件但未找到(Java)

时间:2010-12-13 21:45:55

标签: java netbeans

当我在Netbeans(6.9)中尝试使用Java加载文件时,我每次都遇到同样的问题。 似乎找不到文件。我收到错误:

  

显示java.lang.NullPointerException

在此背景下:

File file = new File(this.getClass().getClassLoader().getResource("file.xml").getFile());
// or this also don't work
File file = new File("file.xml");

文件file.xmlMain.java文件位于同一目录中。 我怎么能加载这个文件?

3 个答案:

答案 0 :(得分:5)

这应该有效(对我而言):

String path = URLDecoder.decode(getClass().getResource("file.xml").getFile(), "UTF-8");
File f = new File(path);

如果我正确理解Javadocs,这应该与使用getClass().getClassloader().getResource()相同,但根据我的经验,它是不同的

答案 1 :(得分:1)

我建议你添加一行,这样就可以说明一些事情(未经测试):

File f = new File(....);
System.out.println("f=" + f.getAbsolutePath());
// do stuff with f

这将告诉您文件的确切位置,并让您弄清楚到底发生了什么。

答案 2 :(得分:0)

有时您可能需要在前面添加额外的/

File file = new File(this.getClass().getClassLoader().getResource("/file.xml").getFile());