📌  相关文章
📜  Java程序获取文件的最后修改日期(1)

📅  最后修改于: 2023-12-03 15:16:38.267000             🧑  作者: Mango

Java程序获取文件的最后修改日期

在Java中,我们可以很方便地获取文件的最后修改日期。这个功能对于一些需要对文件进行管理的应用非常重要。

使用File类获取文件最后修改日期

我们可以使用Java的File类来获取文件的最后修改日期,具体代码如下:

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

public class FileLastModifiedExample {
    public static void main(String[] args) {
        File file = new File("file.txt");
        long lastModified = file.lastModified();
        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        System.out.println("File last modified time: " + sdf.format(lastModified));
    }
}

再次提醒,需要切换到对应目录下才可以执行,这里还可以再加一个try catch块来捕获异常:

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

public class FileLastModifiedExample {
    public static void main(String[] args) {
        String filePath = "file.txt";
        File file = new File(filePath);
        if(!file.exists()){
            System.out.println("文件" + filePath + "不存在");
            return;
        }

        try {
            long lastModified = file.lastModified();
            SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
            System.out.println("File last modified time: " + sdf.format(lastModified));
        } catch (Exception e) {
            System.out.println("获取文件" + filePath + "最后修改时间出错,异常信息:" + e.getMessage());
        }
    }
}
使用NIO获取文件最后修改日期

同样的,我们也可以使用Java的NIO(New I/O)来获取文件的最后修改日期,具体代码如下:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;
import java.util.Date;

public class NIOFileLastModifiedExample {
    public static void main(String[] args) {
        Path filePath = Paths.get("file.txt");
        try {
            BasicFileAttributes attr = Files.readAttributes(filePath, BasicFileAttributes.class);
            long lastModified = attr.lastModifiedTime().toMillis();
            SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
            System.out.println("File last modified time: " + sdf.format(new Date(lastModified)));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这里也要注意需要切换到对应目录下才可以执行。和上文一样,可以加try catch块来捕获异常。

总结

通过以上两种方式,我们都可以非常简便地获取到文件最后修改时间,具体使用哪种方式取决于实际情况。在使用过程中需要注意代码的正确性和安全性,避免出现意外的异常情况。