gpt4 book ai didi

java - 使用 java jar 从资源文件夹加载文件

转载 作者:行者123 更新时间:2023-11-30 06:22:04 25 4
gpt4 key购买 nike

我在 Maven 项目的 src/main/resource 文件夹中有 download.sh 文件,我正在通过下面的代码阅读它

 ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("download.sh").getFile());

当我将其作为独立应用程序运行时,该文件正在读取。

如果我使用 jar ex 将其作为应用程序运行:-

java -jar runScript.jar SCHEMA_NAME

/Users/IdeaProjects/RunScript/target/file:/Users/IdeaProjects/RunScript/target/RunScripts.jar!/download.sh": error=2,没有这样的文件或目录

任何人都可以帮助我在使用 jar 执行时从资源中读取文件

最佳答案

我认为当您尝试读取该文件时会发生此错误。这是因为 jar 中的资源不是文件而是流。所以你应该使用

getClass().getResourceAsStream("download.sh");

然后读取该流,例如:

InputStream resourceStream = getClass().getResourceAsStream("download.sh")
BufferedReader br = new BufferedReader(new InputStreamReader(resourceStream));
String line;
while ((line = br.readLine()) != null) {
// do something
System.out.println(line);
}

关于java - 使用 java jar 从资源文件夹加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47917335/

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