gpt4 book ai didi

java - Spring Boot - 使用 ResourceLoader 读取文本文件

转载 作者:IT老高 更新时间:2023-10-28 13:44:44 25 4
gpt4 key购买 nike

我正在尝试使用这样的 Spring 资源加载器读取文本文件:

Resource resource  = resourceLoader.getResource("classpath:\\static\\Sample.txt");

该文件位于我的 Spring Boot 项目中: enter image description here

在 Eclipse 中运行应用程序时它工作正常,但是当我打包应用程序然后使用 java –jar 运行它时,我得到文件未找到异常:

java.io.FileNotFoundException: class path resource [static/Sample.txt] cannot be resolved to absolute file path because it does not reside in the
file system: jar:file:/C:/workspace-test/XXX/target/XXX-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/static/Sample.txt

我解压了 Sample 所在的 Jar 文件:XXX-0.0.1-SNAPSHOT\BOOT-INF\classes\static\Sample.txt

有人可以帮帮我吗?

提前致谢!

最佳答案

我已经检查了你的代码。如果你想从 Spring Boot JAR 中的类路径加载文件,那么你必须使用 resource.getInputStream() 而不是 resource。 getFile()。如果你尝试使用 resource.getFile() 你会收到一个错误,因为 Spring 试图访问一个文件系统路径,但是它不能访问你的路径 jar 。

详情如下:

https://smarterco.de/java-load-file-classpath-spring-boot/

关于java - Spring Boot - 使用 ResourceLoader 读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41754712/

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