作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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/
我是一名优秀的程序员,十分优秀!