Netbeans Build .jar不能与里面的类文件一起使用

时间:2010-12-16 21:21:18

标签: java netbeans jar

I had problems while finding the path of file(s) in Netbeans.

问题已经解决(检查答案)。

今天我注意到另一个问题:项目完成后, 我必须执行生成的.jar来启动程序,但它不起作用,因为在Netbeans外部访问/打开jar时发生错误:NullPointer(在哪里加载文件)。

是否可以使用Java / Netbeans中的类文件打开一个文件,该文件在Netbeans甚至任何目录中都可以使用?

我在网站上找到了一些关于我的问题的线索,但没有一个是有帮助的。

代码:

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

2 个答案:

答案 0 :(得分:2)

你遇到的问题是File只引用文件系统上的文件,而不是jar中的文件。

如果您想要更通用的定位器,请使用getResource提供的URL。但是,通常你不需要知道文件的位置,你只需要它的内容,在这种情况下你可以使用getResourceAsInputStream()

这一切都假设你的类路径配置正确。

答案 1 :(得分:0)

是的,您应该能够在文件系统的任何位置加载java进程可以访问的文件。您只需要在getResource调用中明确设置路径。

例如:

File file = new File(URLDecoder.decode(this.getClass().getResource("C:\\foo\\bar\\file.xml").getFile(), "UTF-8"));