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"));
答案 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"));