如何使用类路径加载csv文件? 在此之前,我尝试使用 FileReader 加载文件,该文件在本地运行时工作正常,但在部署到外部服务器时会引发 FileNotFound 等异常。下面的代码在本地工作,但是当部署到 tomcat 文件夹 www/[jar] 上的 jar 时,会抛出此异常 不幸的是,我无法提供原始代码。要点如下:
BufferedReader br = new BufferedReader(new FileReader("src/SSR.csv"));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] cols = line.split(",");
map.put(cols[1],cols[0]);
最佳答案
既然您用 spring 标记了这个问题,我想向您指出 Spring 框架提供的资源实现。该文档可以在以下位置找到:
对于您的 csv 文件,类似于
Resource csv = context.getResource("classpath:some/resource/path/my.csv");
InputStream inputstream = csv.getInputStream();
应该是一个起点。资源接口(interface)提供了一个
File getFile() throws IOException;
方法,但这仅在文件驻留在文件系统中时才有效。因此,对于您的情况,我认为您应该使用带有输入流的方法。
编辑: 在这里您可以使用 ClassPathResource 找到另一个答案 https://stackoverflow.com/a/44412189/7634201
关于java - 使用类路径在 java 中加载 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50732585/