我有一个文件存储在 src/main/resources/data 中,我想从我的一个组件的 Spring Bean 类中打开它。我写了以下内容:
private static final String FILE_NAME = "MyFile.csv";
private static final String SEPARATOR = System.getProperty("file.separator");
private static final String FILE_FOLDER = "src" + SEPARATOR + "main" + SEPARATOR
+ "resources" + SEPARATOR + "data" + SEPARATOR;
private static final String FILE_PATH = FILE_FOLDER
+ FILE_NAME;
public boolean readFile() {
String filePath = FILE_PATH;
InputStream is = this.getClass().getResourceAsStream(filePath);
System.out.println(is);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// stuff
}
这个类是一个@Component,它的方法被@RestController调用。
对于给定的代码,InputStream 为空。我怎样才能干净地找到资源?谢谢。
最佳答案
目录 src/main/resources
是您资源的基础(“类路径的根目录”)。
试试 filePath = "/data/MyFile.csv"
请注意,您可以在 Windows 和 Linux 上安全地使用“/”。
关于java - 在 Spring MVC 应用程序中打开静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24957691/