在我的代码中,我需要通过扫描目录并将结果输入组合框来填充 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 的类加载器资源功能。
关于java - 文件导出到 jar 后给出空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51197761/