📜  java 获取文件的创建日期 - Java (1)

📅  最后修改于: 2023-12-03 14:42:19.865000             🧑  作者: Mango

Java 获取文件的创建日期

在Java中,可通过java.nio包中的Files类和Path类来获取文件的创建日期。具体步骤如下:

  1. 创建Path对象,指定要操作的文件路径。

    Path path = Paths.get("文件路径");
    
    • Paths.get()方法会返回一个路径对象,用于表示文件系统中的路径。
    • "文件路径"为具体的文件路径,可使用相对路径或绝对路径。
  2. 通过Files类的getAttribute()方法获取文件的创建日期。

    BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
    FileTime createTime = attrs.creationTime();
    
    • Files.readAttributes()方法会返回包含文件属性信息的BasicFileAttributes对象。
    • BasicFileAttributes对象提供了获取文件创建时间、修改时间等属性信息的方法。
    • attrs.creationTime()方法会返回文件的创建时间,类型为FileTime
  3. FileTime类型的创建日期转换为可读性高的日期格式。

    LocalDateTime createTime = createTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
    
    • createTime.toInstant()方法会将FileTime对象转换为Instant类型,用于表示一个时间点。
    • Instant.atZone()方法会将Instant对象转换为ZonedDateTime类型,带有时区信息,否则转换为LocalDateTime类型的日期将失去时区信息。
    • ZonedDateTime.toLocalDateTime()方法会将含有时区信息的ZonedDateTime对象转换为LocalDateTime类型的日期,不含时区信息。

完整代码示例:

import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.time.*;

public class GetFileCreationDate {
    public static void main(String[] args) throws IOException {
        Path path = Paths.get("文件路径");
        
        BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
        FileTime createTime = attrs.creationTime();
        
        LocalDateTime createTimeLocal = createTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        System.out.println("文件创建日期:" + createTimeLocal);
    }
}

返回的结果应为:

文件创建日期:2021-05-27T10:11:16.645

参考链接: