我确实搜索过此问题的解决方案,但找不到正确的答案。
我的问题是我有一个 NetBeans 项目,它具有以下文件夹结构。
我的项目
Source Packages
---------------
controller
.
.
.
.
databaseconfiguration
application
Application.java
source
DbConfig.txt
DbConfig.txt 位于源代码中。 Application.java在应用程序中
在Application.java中我确实阅读了DbConfig.txt。 如下代码
字符串路径 = ClassLoader.getSystemResource("source/DbConfig.txt").getPath();
File f = new File(path);
fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
while (br.ready()) {
String line = br.readLine();
if(line.isEmpty()){
continue;
}
else{
JOptionPane.showConfirmDialog(null,line);
}
}
当我在 Netbeans IDE 中运行时,这工作正常。
但是在构建之后,当我尝试使用 MyProject.jar 运行它时,它给出了空指针异常(cmd 中的 java -jar MyProject.jar)
请告诉我如何解决这个问题。 提前致谢。
最佳答案
只要您的文件位于类路径中,只需使用 ClassLoader 返回资源的 InputStream,而不是将其用作文件(您无法将 jar 中的资源作为简单文件读取)
InputStream in = getClass().getResourceAsStream(path);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
关于java - 如何用 java 读取/写入 NetBeans 项目本身中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36199192/