Java如何更改檔案的最後修改時間?

2019-10-16 22:30:06

在java程式設計中,如何更改檔案的最後修改時間?

此範例顯示如何使用File類中的FileToChange.lastModified()fileToChange setLastModified()來更改檔案的最後修改時間。

package com.yiibai;

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

public class SettingFileDate {
    public static void main(String[] args) throws Exception {
        File fileToChange = new File("F:/worksp/javaexamples/java_files/myfile.txt");
        fileToChange.createNewFile();
        Date filetime = new Date(fileToChange.lastModified());
        System.out.println(filetime.toString());
        System.out.println(fileToChange.setLastModified(System.currentTimeMillis()));
        filetime = new Date(fileToChange.lastModified());
        System.out.println(filetime.toString());
    }
}

執行上述範例程式碼,將產生以下結果 -

Mon Sep 18 21:10:38 BOT 2017
true
Mon Sep 18 21:24:40 BOT 2017

注意:需要先建立F:/worksp/javaexamples/java_files/myfile.txt檔案。

範例-2

以下是java中設定檔案最後修改時間的另一個範例:

package com.yiibai;

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

public class SettingFileDate2 {
    public static void main(String[] args) {
        File f1 = new File("F:/worksp/javaexamples/java_files/while-loop.png");
        System.out.println("Before Format : " + f1.lastModified());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        System.out.println("After Format : " + sdf.format(f1.lastModified()));
    }
}

執行上述範例程式碼,將產生以下結果 -

Before Format : 1505722194902
After Format : 2017/09/18 04:09:54