gpt4 book ai didi

java - 无法使用 .getResource().getPath() 打开文件

转载 作者:行者123 更新时间:2023-11-30 07:20:00 25 4
gpt4 key购买 nike

一年前,我为我的毕业作品编写了 JavaFX 2.0 应用程序。但是一年过去了,我的代码出现了问题,以前可以用。

所以,在代码中我想获取文件夹并列出它的文件:

File dir = new File(getClass().getResource("media/images/backgrounds/").getPath()); 
File[] files = dir.listFiles();
for (File file : files) {
list.add(file.toURI().toString());
}

我在“for (File file : files) {”行上得到 java.lang.NullPointerException

System.out.print(getClass().getResource("media/images/backgrounds/").getPath());

返回文件:/D:/JavafxApp1/JavafxApp/dist/run2054723721/JavafxApp.jar!/javafxapp/media/images/backgrounds/

我不想创建另一种从 JAR 文件流中读取文件的方法。这种获取文件的方法在一年前 100% 有效,但为什么现在不起作用?谢谢!

最佳答案

它不会工作,因为你的文件夹在一个 jar 里。我想一年前他们不是。我认为对于目录在 jar 之外的情况,您不需要单独的代码:

我找到了 this example这显示了如何使用 getResourceAsStream 列出目录的文件。然后,您可以依次通过 getResourceAsStream 访问这些资源。你永远不会知道你是在 jar 里还是 jar 外:-)

关于java - 无法使用 .getResource().getPath() 打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14294829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com