读取 jar 包内的文件

不能直接使用

File file = new File(path);

方式来读取。资源文件打包到 jar 内,路径类似

file:/root/webservice-0.0.1-SNAPSHOT-jar-with-dependencies.jar!/resources/sharepointApp.xml

这是 java URL 的形式,报 FileNotFoundException 错误。
使用类加载器的 getResource 方法来获取:

InputStream in=MyClass.class.getClassLoader().getResource(filename).openStream();

若要使用文件夹路径获取,只能将文件放在 jar 包外,不要打包进 jar 内。

上一篇:Java 开发中容易被忽略、出错的细微之处


下一篇:getResource,getResourceAsStream用法