This question already has answers here:
How to list the files inside a JAR file?
(16个答案)
5年前关闭。
如何使用
例如。
在
想像像
不幸的是,这仅会检索一个 所有名为
但这将返回一个空的
还有一个额外的问题:
(16个答案)
5年前关闭。
如何使用
ClassLoader.getResources()
从我的类路径中找到递归资源?例如。
META-INF
“目录”中查找所有资源:想像像
getClass().getClassLoader().getResources("META-INF")
不幸的是,这仅会检索一个
URL
恰好到此“目录”。 bla.xml
的资源(递归)getClass().getClassLoader().getResources("bla.xml")
但这将返回一个空的
Enumeration
。 还有一个额外的问题:
ClassLoader.getResources()
与ClassLoader.getResource()
有何不同? 最佳答案
没有办法递归搜索类路径。您需要知道资源的完整路径名才能以这种方式检索它。该资源可能位于文件系统中的目录中,也可能位于jar文件中,因此它不像执行“类路径”的目录列表那样简单。您将需要提供资源的完整路径,例如'/com/mypath/bla.xml'。
对于您的第二个问题,getResource将返回与给定资源名称匹配的第一个资源。在the javadoc for getResource.中给出了搜索类路径的顺序
10-04 12:51