所以目前我的netbeans项目文件夹是这样的:
- Block_Breaker & lt;——项目
- 构建
- dist
- Block_Breaker.jar
- nbproject
- src
- packageONE
- packageTWO
- data.txt
- manifest . mf
- applet.policy
- build . xml
- dist
我想知道如何在packageTWO中访问data.txt文件(当我通过jar文件而不是netbeans运行Block_Breaker时)。正常情况下,如果通过netbeans运行,下面的代码将工作:
FileWriter x=new FileWriter("src/packageTWO/data.txt");
PrintWriter pr=new PrintWriter(x);
但是如果我运行netbeans创建的jar文件,它不起作用
一旦打包成jar文件,就不能再写了
仍然可以使用下列方法之一进行读取:
<YourClass>.class.getClassLoader().getResourceAsStream("packageTWO/data.txt");
// or
this.getClass().getResourceAsStream("/packageTWO/data.txt");
witch为您提供了一个InputStream witch,您可以使用它来检索文件的内容。
如果你需要写这个文件,那么最简单的方法就是不要把它打包到jar中,而是把它单独放在文件系统的某个地方。
关于javadoc
getResourceAstream
的更多信息这是因为您的.jar
文件不包含名为src/
的文件夹
请使用ClassLoader.getResource
加载资源