我在类路径上有一组资源,大致如下:
com/example/foo
r1.txt
r2.txt
r3.txt
bar/
b1.txt
b2.txt
baz/
x.txt
y.txt
我知道这个包位于 WEB-INF lib 中的类路径上,我希望能够遍历从 com.example.foo 开始的类路径以查找所有 .txt 文件。使用 siganutre 调用类似于以下内容的函数。
列出文件 = findFiles("com/example/foo","*.txt");
我使用的是 spring 3.1,所以我很乐意使用 spring 中的任何方法。
更新: 使用下面基于 Spring 的 @jschoen 建议的解决方案:
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath:com/example/foo/**/*.txt");
弹簧匹配使用蚂蚁风格的图案,因此需要双 **