src 主资源程序中的 Spring 启动映像在 Java 代码中不可见



在一个spring-boot应用程序中,我有一个映像:src/main/resources/images/log.jpg

我需要使用该图像创建新文件,但这不起作用:

File img = new File("/images/logo.jpg");

我该怎么做?

感谢

resources文件夹应该在类路径中。这意味着你可以这样访问它:

@Service
class SomeClass {
@Value("classpath:images/logo.jpg")
private Resource img;
private void methodThatUsesImage() {
// you can do something here with the InputStream of img
}
}

加载资源文件有不同的方法,一种做法如下

ClassLoader cl = getClass().getClassLoader();
File file = new File(cl.getResource("images/logo.jpg").getFile());

在基于春季的项目中,您可以使用

...
ClassPathResource resource = new ClassPathResource("images/logo.jpg");
...

对于在运行时不面对FileNotFoundException,请参阅所附链接。

  1. 新文件("/images/logo.jpg"(

java将在";工作目录/images/logo.jpg";。它不存在,对吧?

  1. 您的文件位于src/main/resources中,因此正确的是
URL url = this.getClass().getClassLoader().getResource("/images/logo.jpg");
File file = new File(url.getFile());

最新更新