这是我的目录结构
XYZProject
- 建造
- 距离
- NB项目
- 源代码
我正在研究netbeans。
现在我有一个名为 ABC.txt 的文件,
我想将它打包到 jar 文件中。
现在我做了以下事情:在源包下创建了一个名为 Resources 的新文件夹,并将文件 ABC.txt 放入其中。
XYZ项目
-- src
|
-- Resources
|
-- ABC.txt
现在我想独立于文件位置访问这个文件。所以我按照一些教程做了这个,
URL url = XYZProject.class.getClassLoader().getResource("Resources/ABC.txt");
String urlStr = urlStr.getFile().replaceAll("%20", " ");
System.out.println(urlStr);
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader(urlStr)); .....
} catch (FileNotFoundException e) {...}
现在,当我通过 netbeans 即 F6 和 tada WORKS 运行代码时,这可以工作!!!
但是当尝试运行 jar 时,它找不到该文件。它抛出 FileNotFoundException
我如何访问通过 netbeans 和 java -jar 运行它的 jar 中的文本文件?
我也不知道为什么在我得到的 url 中有一个 %20 而不是空格。
输出运行 VIA NB
/D:/.../.../.../.../XYZProject/build/classes/Resources/ABC.txt
输出运行 VIA java -jar
file:/D:/.../.../.../.../XYZProject/dist/XYZProject.jar!/Resources/ABC.txt