プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Java、ファイルのタイムスタンプ(最終更新日時)を取得する
結論から書くと

1.対象ファイルのファイルオブジェクトを生成
File f = new File("c:\\hoge.txt");

2.「lastModified()」メソッドでタイムスタンプを取得
 ※1970年1月1日からの経過時間(ミリ秒)で取得
Long l = f.lastModified();

3.適当に書式を整形

でファイルのタイムスタンプ(最終更新日時)を取得できます。

それだけです。

百聞は一見に如かずということで、サンプルですφ(--)

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

public class test01
{
    public static void main(String[] args)
    {
        //最終更新日時取得対象ファイル
        String targetPath = new File(".").getAbsolutePath() + "\\hoge.txt";

        //最終更新日時表示書式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

        //最終更新日時取得&表示
        System.out.println(sdf.format(new File(targetPath).lastModified()));
    }
}

……というのが、あまり良くない書き方です。
気持ちは分かりますが、他の人のことも考えて、もう少しバラしてあげましょう。

私が実際につくるとしたら、これくらいにバラして書きますφ(--)

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

public class test02
{
    public static void main(String[] args)
    {
        //(1) 最終更新日時取得対象ファイル
        String targetPath = new File(".").getAbsolutePath() + "\\hoge.txt";

        //(2) 最終更新日時表示書式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

        //(3) 対象ファイルのファイルオブジェクト生成
        File targetFile = new File(targetPath);

        //(4) 対象ファイルの最終更新日時取得(1970年1月1日からの経過時間)
        Long lastModified = targetFile.lastModified();

        //(5) 最終更新日時書式整形
        String lastModifiedStr = sdf.format(lastModified);

        //(6) 表示
        System.out.println(lastModifiedStr);
    }
}

ちなみに、classファイルと同階層にある「hoge.txt」の最終更新日時を取得して表示するサンプルね。

(4)と(5)は一緒にして

//(4)(5) 最終更新日時取得&書式整形
String lastModifiedTime = sdf.format(targetFile.lastModified());

としても良い気はしますが、次に見るのが新人さんであることも考慮して、分けて書くと思います。
それ以外のところは、間に他の処理を挟む可能性を考慮して、確実に分けて書きます。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Java  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事