gpt4 book ai didi

java - 如何从 jar 访问 ClassPath 资源?

转载 作者:行者123 更新时间:2023-12-02 12:27:54 25 4
gpt4 key购买 nike

我正在编写一个 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 时,exists 方法返回 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));

关于java - 如何从 jar 访问 ClassPath 资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45413931/

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