在我的maven项目中,我在src / main / resources / data文件夹中有一些csv文件,我正在阅读如下:
private static final String FILE_PATH_ROOT= "src/main/resources/data/";
CSVReader reader = new CSVReader(new FileReader(FILE_PATH_ROOT+
fileName), SEPERATOR_CHARACTER);
当我从eclipse运行我的程序时,这种方法有效。但是当我构建一个jar并执行它时,我得到的消息是系统无法找到指定的数据。在jar文件中,文件只是在主jar存档中的数据文件夹中。如何解决此问题以便正确读取文件?
答案 0 :(得分:0)
如果文件在Jar文件内(或在类路径中)结束,则可能必须使用ClassLoader.getResourceAsStream()方法https://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html#getResourceAsStream(java.lang.String)
从InputStream创建一个InputStreamReader,然后读取内容。
https://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html