所以目前我的netbeans项目文件夹如下所示:
我想知道如何访问packageTWO中的data.txt文件(当我通过jar文件而不是netbeans运行Block_Breaker时)。通常,如果通过netbeans运行,则以下代码将起作用:
FileWriter x=new FileWriter("src/packageTWO/data.txt");
PrintWriter pr=new PrintWriter(x);
但是,如果我运行一个netbeans创建的jar文件,它就无法工作。
答案 0 :(得分:2)
将文件打包到jar文件后,您无法写入该文件。
然而,使用以下方法之一仍然可以阅读:
<YourClass>.class.getClassLoader().getResourceAsStream("packageTWO/data.txt");
// or
this.getClass().getResourceAsStream("/packageTWO/data.txt");
女巫会给你一个InputStream女巫,你可以用它来检索文件的内容。
如果您需要访问该文件,那么最简单的方法不是将其打包到jar中,而是将其独立放在文件系统的某个位置。
中关于getResourceAstream
的更多信息
答案 1 :(得分:0)
这是因为您的.jar
文件不包含名为src/
请使用ClassLoader.getResource
加载资源。