我正在寻找一种方法来获取给定类路径目录中的所有资源名称列表,类似于方法List<String> getResourceNames (String directoryName).
例如,给定一个路径目录x/y/z包含文件a.html,b.html,c.html和子目录d,getResourceNames("x/y/z")应该返回一个List<String>包含下列字符串:['a.html', 'b.html', 'c.html', 'd'].
它应该适用于文件系统和jar中的资源.
我知道我可以用Files,JarFiles和URLs 写一个快速片段,但我不想重新发明轮子.我的问题是,鉴于现有的公共图书馆,实施最快捷的方式是getResourceNames什么?Spring和Apache Commons堆栈都是可行的.
不确定这是怎么回事.我重读了getResourceAsStream,它总是返回null.
InputStream source = this.getClass().getResourceAsStream("test.xml");
Run Code Online (Sandbox Code Playgroud)
Finder中的test.java旁边(使用OS X和Eclipse)是test.xml
我可以在TextWrangler中打开它,并将其视为存在于内部的数据.
如果它有任何不同,这是一个Junit测试.我去查看我们系统上现有的Junit测试,并且我以与工作示例完全相同的方式使用它(如文件所在的位置和代码本身).
可以防止我假设getClass()返回正确的路径有什么小的差别?
谢谢!