Java File lastModified() メソッド

Java File Java File


lastModified()はJavaのjava.io.Fileクラスが提供するインスタンスメソッドであり、ファイルが最後に変更されたタイムスタンプを取得するために使用します。このメソッドはlong型の値を返し、1970年1月1日 00:00:00 GMT(Unixエポック)からのミリ秒数を表します。

メソッド構文

例

public long lastModified()

戻り値の説明

  • 戻り値の型:long
  • 戻り値の意味:ファイルの最終変更タイムスタンプ(ミリ秒)
  • 特別な戻り値:ファイルが存在しない場合、またはI/Oエラーが発生した場合は、0L

使用例

基本的な使い方

例

import java.io.File;

public class LastModifiedExample {
    public static void main(String[] args) {
        File file = new File("example.txt");
       
        long lastModified = file.lastModified();
        System.out.println("文件最后修改时间戳: " + lastModified);
    }
}

タイムスタンプを読み取り可能な形式に変換する

例

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

public class LastModifiedReadable {
    public static void main(String[] args) {
        File file = new File("example.txt");
       
        long lastModified = file.lastModified();
        Date date = new Date(lastModified);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       
        System.out.println("文件最后修改时间: " + sdf.format(date));
    }
}

注意事項

ファイルが存在しない場合:ファイルが存在しない場合、メソッドは0L。したがって、使用前にファイルが存在するかどうかを先に確認する必要があります:

例

if (file.exists()) {
    long lastModified = file.lastModified();
    // タイムスタンプを処理
} else {
    System.out.println(ファイルが存在しません);
}

権限の問題:プログラムにファイルメタデータを読み取る権限がない場合、メソッドも0L。

クロスプラットフォームの動作:オペレーティングシステムによって「最終変更時間」の定義は多少異なる場合がありますが、通常はファイルの内容が最後に変更された時間を指します。

精度の問題:一部のファイルシステムでは、ミリ秒レベルのタイムスタンプが正確に記録されない場合があります。


実際の適用シーン

  1. ファイル同期:2つのファイルの最終変更時間を比較して、どちらのファイルを更新する必要があるかを判断します
  2. キャッシュメカニズム:リソースファイルが変更されたかどうかを確認して、再ロードが必要かどうかを決定します
  3. ログ分析:ファイル変更時間のパターンを分析して異常な動作を検出します
  4. バックアップシステム:どのファイルをバックアップする必要があるかを判断します

関連メソッド

  • File.setLastModified(long time):ファイルの最終変更時間を設定します
  • File.length():ファイルサイズを取得します
  • File.exists():ファイルが存在するかどうかを確認します

まとめ

lastModified()メソッドはJavaのファイル操作におけるシンプルで実用的なツールであり、ファイルの変更時間の基本情報を提供します。DateとSimpleDateFormatクラスと組み合わせることで、これらのタイムスタンプをより読みやすい形式に変換できます。

Java File Java File

その他の拡張