Java如何设置文件的上次修改时间?

在以下代码片段中,您将学习如何更新文件的上次修改日期/时间。要更新上次修改的日期/时间,可以使用该java.nio.file.Files.setLastModifiedTime()方法。此方法有两个参数。第一个参数是Path代表文件的对象。第二个参数是FileTime对象中新的修改日期。

让我们尝试下面的代码片段。

package org.nhooo.example.io;

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;

public class SettingFileTimeStamps {
    public static void main(String[] args) throws Exception {
        String path = "D:/resources/data.txt";
        Path file = Paths.get(path);

        BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);
        System.out.println("lastModifiedTime() = " + attr.lastModifiedTime());

        // 更新文件的上次修改时间。
        long currentTimeMillis = System.currentTimeMillis();
        FileTime fileTime = FileTime.fromMillis(currentTimeMillis);
        Files.setLastModifiedTime(file, fileTime);

        attr = Files.readAttributes(file, BasicFileAttributes.class);
        System.out.println("lastModifiedTime() = " + attr.lastModifiedTime());
    }
}

代码段的输出:

lastModifiedTime() = 2017-11-28T00:08:55.291206Z
lastModifiedTime() = 2017-12-01T14:56:21.26Z