1

ファイル名をフィルタリングし、プレフィックスに基づいて特定のファイルだけをファイル配列に追加する特定の方法があることを知りたかったのですか???

例: ファイル: A_error_log.txt,A.txt,A.fasta,B.fasta,B_error_log.txt 上記のファイル リストから、A タイプのファイルをフォルダーに移動し、B タイプのファイルを別のフォルダーに移動したいだけです。

標準的な解決策は、ファイルのリストを取得し、get name を使用して特定のファイル名の接頭辞をチェックし、追加することです。

私は知りたかったのですが、これにはすでに4rが存在する他の方法がありますか??

4

3 に答える 3

1

Apache Commons IOには多くの既製のファイル フィルターがあり、これらのフィルターを組み合わせて適用ANDし、OR操作することができます。また、これらのフィルターを使用して、多くの優れたファイル操作があります。

于 2012-11-02T11:01:55.847 に答える
1

FileFilterを使用します。例はここにあります。必要なのは Java だけです。外部依存関係はありません。

于 2012-11-02T10:54:00.510 に答える
0

余分な外部依存関係を許容できる場合、Apache Commons IOの filefilter パッケージには、この種の操作用に事前に作成されたフィルターが多数あります。必要なことは、 WildcardFileFilterで簡単に実行できます。

 File dir = new File(".");
 FileFilter fileFilter = new WildcardFileFilter("A*");
 File[] files = dir.listFiles(fileFilter);
 for (int i = 0; i < files.length; i++) {
   System.out.println(files[i]);
 }

他にも多くのフィルターがあり、複数のフィルターを組み合わせて使用​​できる一連の「ロジック」フィルター (AndFileFilter、OrFileFilter、および NotFileFilter) があります。

Commons IO を使用することにした場合、FileUtilsパッケージには、ファイルを別のファイル システムに移動する必要がある場合にも対処する、ファイルを移動するための非常に興味深い方法がいくつかあります。

于 2012-11-02T10:57:03.580 に答える