我有一个maven项目,想要从它的类路径中读取文件。我正在使用的代码是
InputStream is = getClass().getResourceAsStream ("filename.json");
但每次我获得null
输入流。我不知道为什么?
该文件位于/src/main/resources
下。包含log4j.xml
的同一个文件夹正在被正确地拾取。
请注意,我正在尝试从Eclipse运行此文件,即运行或调试模式。没有vm参数或任何。
答案 0 :(得分:0)
Class.getResourceAsStream(String)
方法查找给定类所在的同一命名空间(即包)中的给定资源,除非您给它一个绝对路径(参见the API documentation);如果它无法在此命名空间中的类路径上找到资源,则返回null
。因为你的班级很可能在com.myproject.resourcemanagement
,您的资源文件必须类似于src/main/resources/com/myproject/resourcemanagement
,类似于您的类源文件的组织方式(在src/main/java/com/myproject/resourcemanagement
下)。