java - 文件导出到 jar 后给出空指针

标签 java jar nullpointerexception embedded-resource

在我的代码中,我需要通过扫描目录并将结果输入组合框来填充 JComboBox。

我这样做

File folder = new File("src/profiles");
for (final File fileEntry : folder.listFiles())             
         list.add(fileEntry.getName().substring(0, fileEntry.getName().length()-5));

这在 Eclipse 中工作得很好,但是一旦我导出到可运行的 jar,它就会在 for 循环上抛出空指针异常。我猜这是因为无法创建/找到文件夹文件,因为结构不再相同。我已经用 7zip 检查了 jar,配置文件目录就在那里。它位于 jar 的根目录,但即使我将 "src/profiles" 更改为 "profiles""\profiles" 它仍然会引发相同的空指针异常错误

目录结构看起来像这样供引用

    Project
       bin
          name
          images
          profiles
       src
          name
              this.java
              that.java
          images
          profiles
              profile1.json
              profile2.json

有人知道导出到 jar 后仍然可以正常工作的方法吗?通过以不同的方式获取文件夹或以其他方式扫描目录?

最佳答案

如果您想在应用程序的类路径(在您的情况下是 jar 内)中查找资源,那么您可以使用 Java 的类加载器资源功能。

这是一个示例:Get a list of resources from classpath directory

关于java - 文件导出到 jar 后给出空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51197761/

相关文章:

JAVA RSAES-OAEP攻击

java - Eclipse 大纲 View - 如何隐藏不推荐使用的方法

java - 如何使jar文件独立?

java - 如何在eclipse中从Maven项目创建Jar文件

android - View.findViewById() 返回 null

java - Spring boot - @ControllerAdvice 不起作用

java - R 无法解析为 eclipse android 中的变量

java - 类 body 中的括号有什么作用?

java - Maven:如何寻址 JAR 中打包目录中的配置文件

java - Android NumberPicker 转字符串