6

重複の可能性:
Javaのディレクトリで最後に変更されたファイルを見つけるにはどうすればよいですか?

変更を確認する必要があるファイルのディレクトリがあります。ファイルの1つにmodifiedDate、前回のチェックで覚えたものよりも新しいものがあると、変更されたと思います(これは、キャッシュの依存関係を意味します)。

Javaのディレクトリで最新の変更されたファイルを見つける最も速い方法は何でしょうか?


楽観的すぎるかもしれませんが、すべてのファイルの反復を伴わないものを明示的に探しています。

また、ディレクトリの変更日を確認するだけでは不十分です。これは、ファイル自体の1つが変更されたときではなく、内部のファイルのリストが変更されたときにのみ変更されるためです。

4

4 に答える 4

2

すべてのファイルを反復処理する必要がない場合でも、これを見つけるために使用するサードパーティのAPIは、すべてのファイルを反復処理します。

JDK 7は、java.nio.WatchServiceを使用することを目的としています。これは、必要に応じてすべてを反復処理するようですが、ファイルシステムのサポートを使用して、要求したことを正確に実行します。マイナス面としては、それはまだ未来です。

于 2010-07-29T14:14:37.540 に答える
1

すべてのファイル名を繰り返し、変更日を抽出する必要があります。

于 2010-07-29T14:05:09.480 に答える
1

この解決策を参照してください:Javaを使用してディレクトリから最後に変更されたファイルを10個だけ取得するにはどうすればよいですか?

これは純粋なJavaコードですが、パフォーマンスを向上させるための簡単なハックがあります。

于 2011-02-16T06:39:44.760 に答える
0

それは不可能だと思います。Runtimeクラスを使用して、java "ls -lrt | tail -1"からunixコマンドラインを実行し、文字列を解析して、最新の変更されたファイルの名前を取得できます。

于 2010-07-29T14:17:36.740 に答える