Java - classLoader - 读取jar中的文件

时间:2017-01-21 13:34:58

标签: java jar

我在Intelij创建了一个项目,其中我有一个函数,它使用以下命令从文件中读取一些数据:

InputStream stream = getClass().getClassLoader().getResourceAsStream(excelFilePath); 

它工作正常。

现在,我想用项目+文件创建jar并从另一个项目调用该函数。这些文件被添加到jar,但是当调用该函数时,我得到一个空指针异常,该流是null;

文件路径类似于 "exel\\filename"它位于res/exel文件夹中,其中res被标记为资源文件夹。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

我不得不替换

InputStream stream = getClass().getClassLoader().getResourceAsStream(excelFilePath);

InputStream stream =  MyClass.class.getResourceAsStream(excelFilePath);

并将excelFilePath格式化为以'/'。

开头