クラスパスに次のようなリソースのコレクションがあります。
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");
スプリングは ant スタイル パターンを使用して一致するため、ダブル ** が必要です