java - 如何用 java 读取/写入 NetBeans 项目本身中的文件

标签 java file netbeans file-io

我确实搜索过此问题的解决方案,但找不到正确的答案。

我的问题是我有一个 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));

更多信息请点击 How do I read a resource file from a Java jar file?

关于java - 如何用 java 读取/写入 NetBeans 项目本身中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36199192/

相关文章:

java - 更改 Google Maps API 的 "My location"按钮的位置

file - 如何将结构作为二进制数据写入golang中的文件?

java - Netbeans GUI Builder - 如何添加自定义表格单元格渲染器?

java - 如何通过netbeans访问SQLyog社区并在其中插入查询?我的代码在下面

java - 没有找到主类?网 bean

java - 在使用 in.nextDouble() 时遇到问题

java - 我可以在 @Embedded 中使用 @ElementCollection 吗?

java - Java 程序内存中的大型静态映射

c - 从文件中读取直到找到空格

c++ - 在 2 个字符之后插入点,直到 C++ 中的文件末尾