从Java中的src / main / resources访问静态文件

时间:2017-04-13 08:28:14

标签: java spring spring-boot

在我的SpringBoot项目中,我想阅读位于以下位置的图像文件:

enter image description here

我试过了:

URL url = getClass().getResource("android.png");
File f = new File(url.getPath());

URL url = getClass().getResource("static/images/android.png");
File f = new File(url.getPath());

但结果为空。

编辑:这有效

try {
   File file = new ClassPathResource("static/images/android.png").getFile();    
} catch (IOException e) {

}

4 个答案:

答案 0 :(得分:2)

如果您使用的是Spring,那么最好使用内置的ClassPathResource类来访问类路径中的文件。

答案 1 :(得分:2)

你可以试试这个

File file = new ClassPathResource("/images/android.png").getFile();

因为我们可以从任何地方访问静态文件夹

答案 2 :(得分:0)

你试过吗

ClassLoader.getSystemResourceAsStream("/static/images/android.png");

答案 3 :(得分:0)

您可以使用this.getClass().getResource("/static/images").getFile();获取文件夹位置,然后附加文件名以获取文件位置。

实施例

String path=this.getClass().getResource("/static/images").getFile();
File File f = new File(path+"/​android.png");