[解決済み] Javaでワイルドカード文字列に一致するファイルを検索する方法は?
2022-04-21 14:29:31
質問
これは本当に簡単なことです。もし私がこのようなStringを持っているとしたら。
../Test?/sample*.txt
では、このパターンにマッチするファイルのリストを取得する一般的に受け入れられている方法は何でしょうか?(例: それは
../Test1/sample22b.txt
と
../Test4/sample-spiffy.txt
でなく
../Test3/sample2.blah
または
../Test44/sample2.txt
)
を見てみました。
org.apache.commons.io.filefilter.WildcardFileFilter
で、それは正しい獣のようですが、相対的なディレクトリパスでファイルを見つけるためにそれをどのように使用するかがわかりません。
Antはワイルドカード構文を使用するので、ソースを見ることができると思いますが、私はここでかなり明白な何かを見逃しているに違いありません。
( 編集 上の例はあくまでサンプルです。私は、ワイルドカードを含む一般的なパスを実行時にパースする方法を探しています。mmyersの提案に基づいてその方法を考え出したのですが、ちょっと迷惑な話です。言うまでもなく、Java JREは、私の時間と手間を省くために、単一の引数からmain(String[] arguments)で単純なワイルドカードを自動パースするようです...。ファイル以外の引数が混じってないだけマシか(笑)。
解決方法は?
Apache AntのDirectoryScannerを検討してください。
DirectoryScanner scanner = new DirectoryScanner();
scanner.setIncludes(new String[]{"**/*.java"});
scanner.setBasedir("C:/Temp");
scanner.setCaseSensitive(false);
scanner.scan();
String[] files = scanner.getIncludedFiles();
ant.jarを参照する必要があります(ant 1.7.1の場合、~1.3MB)。
関連
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルシートとして解釈されるリソースが、MIMEタイプtext/htmlで転送される。
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
java の例外が発生しました java
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
をインスタンス化することができません。
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
自動配線された依存性のインジェクションに失敗しました。
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。