gpt4 book ai didi

java - 在 Java main 方法中获取资源

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:26 26 4
gpt4 key购买 nike

我试图通过调用 MainClass.class.getResource("/Resources/file.extension") 并使用 getPath 将其传递给 File 的构造函数来在我的 Java 应用程序中打开一个资源()。接下来,当我用 File 初始化一个新的 FileInputStream 时,我得到了一个 FileNotFoundException。完整的堆栈跟踪如下所示。

java.io.FileNotFoundException: E:\user\Documents\NetBeansProjects\Project name\build\classes\Resources\file.csv (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at my.secret.project.MainClass.main(MainClass.java:27)

这是我的代码。

File file = new File(MainClass.class.getResource("/Resources/file.extension").getPath());

...

InputStream in = new FileInputStream(file);

最佳答案

您的整个代码可以替换为简单的:

InputStream in = MainClass.class.getResourceAsStream("/Resources/file.extension");

无需使用文件。事实上,您的 CLASSPATH 上的文件可能指向 JAR/WAR 中的某个位置,这肯定是行不通的。抢劫 Class.getResourceAsStream()了解详情。

关于java - 在 Java main 方法中获取资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12732297/

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