FileNotFoundException - Java测试资源

4

我正在编写junit测试,需要从src/test/resources读取文件。

我在src/test/java/some_packages/UserTests中有以下代码:

InputStream inputStream = new FileInputStream(new File("abc.txt"));

当我运行我的测试时,文件当然是存在的,但是我收到了java.io.FileNotFoundException: abc.txt (No such file or directory)错误提示。

我在IntelliJ中将资源文件夹标记为测试资源。


1
你的问题不太清楚。你是想根据文件名读取一个文件,还是从类路径中读取一个资源? - jarnbjo
1
你的abc.txt文件存储在哪里?问题肯定是该文件未在编译后的.class文件所在目录中找到。 - Milind Gokhale
我想读取位于资源文件夹下的abc.txt文件。 - Pond
1个回答

12

new File("abc.txt") 相对于您的测试工作目录,而不是 src/test/resources 目录。要访问 src/test/resources 目录中的资源,请从类加载器获取资源:

InputStream inputStream = getClass().getResourceAsStream("/abc.txt");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接