【问题标题】:Reading file in jar archive读取 jar 档案中的文件
【发布时间】:2015-06-07 13:01:31
【问题描述】:

在我的 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 存档内的 data 文件夹中。如何解决此问题以便正确读取文件?

【问题讨论】:

  • 尝试将它们放在C:/temp 并更改位置。

标签: jar executable-jar


【解决方案1】:

如果文件最终在 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

【讨论】:

    猜你喜欢
    • 2012-10-25
    • 2018-12-22
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 2011-10-11
    • 1970-01-01
    相关资源
    最近更新 更多