Spring: Load Resource

20th August 2020 at 2:19pm

如果一个文件在 classpath 上,你可以:

ClassLoader classLoader = getClass().getClassLoader();
InputStream inputStream = classLoader.getResourceAsStream("fileTest.txt");
String data = readFromInputStream(inputStream);

你也可以用 Spring 的 @Value 注解:

import org.springframework.core.io.Resource;

@Component
public class MyClass {
    @Value("classpath:data/resource-data.txt")
    private Resource resourceFile;
}

对于 @Value 中的 "classpath:data/resource-data.txt" 串,也可以用 "file:somefile.txt" 实现不同的效果。

参考