名前が部分的にわかっているファイルを読み取ります。次のようなファイルがほとんどないとしましょう。
- apple_5_34.jpg
- orange_3_67.bmp
- バナナ_1_13.gif
そして、「リンゴ」、「オレンジ」、または「バナナ」という単語しか知らないときに、これらのファイルに InputStream を取得したいと考えています。
どんな提案でも大歓迎です。事前に感謝します。
名前が部分的にわかっているファイルを読み取ります。次のようなファイルがほとんどないとしましょう。
そして、「リンゴ」、「オレンジ」、または「バナナ」という単語しか知らないときに、これらのファイルに InputStream を取得したいと考えています。
どんな提案でも大歓迎です。事前に感謝します。
ディレクトリを呼び出しlistFiles()
てファイル配列を取得し、それをループして、あるかどうかを確認File[i].getName().toLowerCase().startsWith("banana")
し、そうであればInputStream
for を取得しFile[i]
ます。
2つのオプションがあります:
すべてのフォルダコンテンツでループを実行し、startsWith
上記で定義された3つの名前すべてのケースを確認します。
またはregex
次のように実行します:
[apple|banana|orange]+([\d\D]+)
また
/\b[apple|banana|orange][^\b]+\b/g
コードのスニペット
InputStream in = null;
if(File[i].getName().matches("[apple|banana|orange]+([\d\D]+)")){
in = new FileInputStream(File[i]);
}