从类路径中读取文件

时间:2014-11-27 18:50:02

标签: java eclipse maven

我有一个maven项目,想要从它的类路径中读取文件。我正在使用的代码是

InputStream is = getClass().getResourceAsStream ("filename.json");

但每次我获得null输入流。我不知道为什么?

该文件位于/src/main/resources下。包含log4j.xml的同一个文件夹正在被正确地拾取。

请注意,我正在尝试从Eclipse运行此文件,即运行或调试模式。没有vm参数或任何。

1 个答案:

答案 0 :(得分:0)

Class.getResourceAsStream(String)方法查找给定类所在的同一命名空间(即包)中的给定资源,除非您给它一个绝对路径(参见the API documentation);如果它无法在此命名空间中的类路径上找到资源,则返回null。因为你的班级很可能在com.myproject.resourcemanagement,您的资源文件必须类似于src/main/resources/com/myproject/resourcemanagement,类似于您的类源文件的组织方式(在src/main/java/com/myproject/resourcemanagement下)。