读取目标/测试类FileNotFound上的文件

时间:2016-11-06 10:30:22

标签: java

我在单元测试中从资源文件夹中读取文件

我可以在target / test-classes

中看到该文件

但是当我尝试将文件包装到fileInputStream中时,这会抛出异常,因为找不到文件

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("CV.pdf").getFile());
FileInputStream fis = new FileInputStream(file)

输出debuging:

ClassLoader.getResource方法( “CV.pdf”):

file:/Users/Development/File%20-%20Test%20Java%20trial/Code/target/test-classes/CV.pdf

也许可能是因为我的文件夹有空白名称?

文件肯定存在,我可以在该文件夹中看到它。

我在这里做错了什么?。

问候。

1 个答案:

答案 0 :(得分:2)

你真的需要FileInputStream吗?

实际文件可以在jar内部(如果你指示maven制作test-jar)。

更灵活的方法是使用InputStream代替:

try(final InputStream is = getClass().getResource("CV.pdf").openStream()) 
{
    //Do something with is
}