📅  最后修改于: 2023-12-03 14:42:19.865000             🧑  作者: Mango
在Java中,可通过java.nio
包中的Files
类和Path
类来获取文件的创建日期。具体步骤如下:
创建Path
对象,指定要操作的文件路径。
Path path = Paths.get("文件路径");
Paths.get()
方法会返回一个路径对象,用于表示文件系统中的路径。"文件路径"
为具体的文件路径,可使用相对路径或绝对路径。通过Files
类的getAttribute()
方法获取文件的创建日期。
BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
FileTime createTime = attrs.creationTime();
Files.readAttributes()
方法会返回包含文件属性信息的BasicFileAttributes
对象。BasicFileAttributes
对象提供了获取文件创建时间、修改时间等属性信息的方法。attrs.creationTime()
方法会返回文件的创建时间,类型为FileTime
。将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
参考链接: