私はコンピュータ上で特別なファイル名拡張子を持つファイルを検索するアプリケーションを書いています。 (例えばJPG)。入力データ: "D:"、 ".JPG"出力:結果を含むtxtファイル(ファイルディレクトリ)。私は単純な反復的な孤独を知っていますが、より良いものがあるかもしれません。ですから、ファイルディレクトリをトラバースする効率的なアルゴリズムを教えてください。また、パフォーマンスを向上させるために、この問題を解決するためにマルチスレッドを使用したいと考えています。しかし、どれくらいのスレッドを使うべきですか?私は1つのディレクトリに1スレッドを使用する場合 - これは愚かなことです。ファイルファインダを書く(java)
答えて
あなたがファイルシステムで手を汚さないようにしたい場合を除き、あなたが名前を付けた再帰オプションが唯一の方法です。私はあなたがそうは思わない。
スレッドのパフォーマンスに関しては、スレッドの数を構成可能にし、いくつかのサンプルディレクトリを作成し、各設定のパフォーマンスを測定することをお勧めします。
ところで、ほとんどのファイルファインダはファイルのインデックスを作成します。彼らはスケジュールに従ってディスクをスキャンし、ディスク上のファイルとディレクトリに関する関連情報を含むファイルを更新します。このファイルは、検索を容易にするための形式です。このインデックスファイルは、実際の検索を実行するために使用されます。同じディレクトリに対してこの検索を繰り返し実行する予定の場合は、これを行う必要があります。
OPはそれらを索引付けするのではなく、ファイルを探したい。インデックス作成には独自の欠点があり、このような小さなアプリでは過度のものです。 –
私は最後の段落をサイドノートとして入れました。多分それは明らかではなかったでしょう。 – Joe
- 1. (java)ファイルリトルエンディアンで書く
- 2. Java - 書くobenglobishメソッド
- 3. Javaのftpサーバを書く
- 4. JavaでGITプリコミットフックを書く?
- 5. JavaでMIDIファイルを書く
- 6. Javaのライブラリを書く
- 7. Javaを使ってRDFaを書く
- 8. Javaコードを書くときのSIGSEGV
- 9. Javaでピックアップサービス機能を書く方法
- 10. JavaでGnome 2パネルアプレットを書く
- 11. Javaで単純なベンチマークツールを書く
- 12. Javaでインターネットブラウザを書くときに
- 13. Javaでファイルのリストを書く方法
- 14. はJavaでPDFにHTMLテーブルを書く
- 15. Javaでビットソートプログラムを書くには?
- 16. セレン+ javaで監視ツールを書く
- 17. Javaでチームスケジューリングプログラムを書く方法
- 18. 火花のJava JARを書く
- 19. SQL文を書くJavaライブラリですか?
- 20. JAVAでMSTアルゴリズムを書くには?
- 21. Csvテーブル形式にJava Beanを書く
- 22. JavaでカスタムProtobuf CodeGeneratorを書く方法
- 23. JavaScriptにJavaコードを書く方法
- 24. JSONをJava内部で書く方法
- 25. Synthetic/BridgeメソッドをJavaで書く
- 26. Javaで出力コンパイラを書くには?
- 27. Java singleton - クラスのユニットテストを書く?
- 28. Javaのインタプリタを書いてスイッチやif文を書く
- 29. より効率的にJavaで書く
- 30. Java Beanクラスを正しく書くにはsetPropertyで正しく動作する
車輪を改造したくない場合は、このhttp://commons.apache.org/io/api-release/index.html?org/apache/commons/io/package-summary.html –