使用 Java 模拟触摸命令

2022-08-31 16:36:18

我想更改二进制文件的修改时间戳。最好的方法是什么?

打开和关闭文件是一个不错的选择吗?(我需要一个解决方案,其中时间戳的修改将在每个平台和JVM上更改)。


答案 1

File 类具有 setLastModified 方法。这就是蚂蚁所做的。


答案 2

我的2美分,基于@Joe.M的答案

public static void touch(File file) throws IOException{
    long timestamp = System.currentTimeMillis();
    touch(file, timestamp);
}

public static void touch(File file, long timestamp) throws IOException{
    if (!file.exists()) {
       new FileOutputStream(file).close();
    }

    file.setLastModified(timestamp);
}