私は以下を実行しようとしています。ディレクトリの下にあるファイル名でデータベースを埋めました。このディレクトリは絶えず変化しています(ダウンロードされたファイルが追加および削除されています)。私のアプリケーションは、このディレクトリを初めてスキャンし、ファイルをデータベースに追加することになっています。 2回目のアプリケーションの実行時には、データベース内のファイル名がディレクトリ内でまだ使用可能かどうかを確認する必要があります。ファイルがゴミすぎずに存在するか確認してください。
私は以下の擬似コードを使用し、チェックするために:
get the filename from the database
check if exists (file f = new File(filename))
if (f.exists()){
mark as existing;
} else {
mark is as deleted
}
if it does, then mark it as existing, else mark it as removed (later will clean the database up)
質問です:彼らは多くのゴミを発生させることなく存在しているかどうかはどのようにデータベース上のすべてのファイルを確認することができますか?ファイルは1000以上にすることができます。 "new File(...)"を1000回以上繰り返してループを実行すると、ゴミが多すぎます。
何か助けていただければ幸いです。
それは正しいです - ファイルは実際にファイルを開くことはありませんが、問題について行くのは間違った方法です。 –
@MichałŠrajer。答えをありがとう。私は単純なアプリケーションを作って、ファイルオブジェクトが通常のファイル名の約100バイトのように見えました。それは私のアプリケーションのボトルネックではないかもしれません。さらにプロファイルされます。 +1 – Ermir