如何从 jar 访问类路径资源?



我正在编写一个Spring Boot Web应用程序。

在我的应用程序中,我需要能够下载打包到可执行应用程序.jar中的 zip 文件。

我正在使用ClassPathResource来加载该文件的流:

Resource applier=new ClassPathResource("applier/com.itnsa.patch.applier-1.0.25-SNAPSHOT-package.zip");
if (applier.exists()) {//do stuff}

zip 文件位于/src/main/resources/applier 中。

在我的应用程序的其他一些类中,我已经使用此方法从/src/main/resources/exception 中检索一些.txt文件,并且一切正常。当我尝试访问zip时,现有方法返回false。

我在访问 zip 存档时做错了什么?我怎样才能做到这一点?

Resource applier=new ClassPathResource("applier/com.itnsa.patch.applier-1.0.25-SNAPSHOT-package.zip");
if (applier.exists()) {//do stuff}

它应该可以工作,我尝试了相同的文件名和返回 true 的相同文件夹结构,确保 jar 文件位于类路径上。 如果您正在使用任何 IDE,请确保 jar 文件位于类路径上。 下面还有另一种方法可以使用,但情况并非如此

InputStream in = getClass().getResourceAsStream("/fileName.zip"); 
BufferedReader reader = new BufferedReader(new InputStreamReader(in));

相关内容

  • 没有找到相关文章

最新更新