同等の'検索を実行することは可能ですか。-JDK7のctimen'(Unixコマンド)?つまり、最後に変更された時間に基づいてすべてのファイルを検索しますか?新しいFileVisitor/BasicFileAttributes / SimpleFileVisitorクラスを確認しましたが、どのように実行できるかわかりません。
4 に答える
以下は私のために働きました(Files.walkFileTreeとFileVisitorを使用して):
FileTime ctime =(FileTime)Files.getAttribute(path、 "unix:ctime");
JDK 7フォーラムでは、このテーマについてのディスカッションが開かれています。
それは基本的に言う:
CreationTimeの説明から「ファイルシステム実装がファイルが作成された時刻を示すタイムスタンプをサポートしていない場合、このメソッドは実装固有のデフォルト値、通常は最終変更時刻またはエポックを表すFileTime(1970- 01-01T00:00:00Z)」。したがって、観察する動作は予想されます。最後のステータス変更の時刻は、本当に必要な場合に利用できます。Files.getAttribute(path、 "unix:ctime")を試してください。
だから、あなた自身の答えは正しいもののようです。
getCreationTime()
ファイル属性オブジェクトを呼び出すことにより、ファイルの作成時間を取得できます。Files.walkFileTree
とを使用してディレクトリツリーウォークを実行できますFileVisitor
。これらを組み合わせると、を実装できますfind . -ctime n
。
これがcreationTimeのjavadocの内容です。
ファイルシステムの実装が、ファイルが作成された時刻を示すタイムスタンプをサポートしていない場合、このメソッドは、実装固有のデフォルト値、通常は最終変更時刻またはエポックを表すFileTime(1970-01-01T00: 00:00Z)。
Unix / Linuxでの作成は一般的ではないため、メソッドは最後に変更された時刻を返します。