Xác định ngày tạo tệp trong Java

1. Khái quát chung

JDK 7 đã giới thiệu khả năng lấy ngày tạo tệp.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách chúng ta có thể truy cập nó thông qua java.nio .

2. Files.getAttribute

Một cách để lấy ngày tạo tệp là sử dụng phương thức Files.getAttribute với Đường dẫn nhất định :

try { FileTime creationTime = (FileTime) Files.getAttribute(path, "creationTime"); } catch (IOException ex) { // handle exception }

Các loại creationTimeFILETIME , nhưng do thực tế là trở về phương pháp đối tượng, chúng ta phải cast nó .

FileTime giữ giá trị ngày tháng như một thuộc tính dấu thời gian. Ví dụ, nó có thể được chuyển đổi thành Instant bằng phương thức toInstant () .

Nếu hệ thống tệp không lưu trữ ngày tạo tệp, thì phương thức sẽ trả về null .

3. Files.readAttributes

Một cách khác để lấy ngày tạo là với Files.readAttributes , đối với một Đường dẫn nhất định , trả về tất cả các thuộc tính cơ bản của tệp cùng một lúc:

try { BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class); FileTime fileTime = attr.creationTime(); } catch (IOException ex) { // handle exception }

Phương thức này trả về một BasicFileAttributes, mà chúng ta có thể sử dụng để lấy các thuộc tính cơ bản của tệp. Phương thức createTime () trả về ngày tạo tệp dưới dạng FileTime .

Lần này, nếu hệ thống tệp không lưu trữ ngày tạo tệp, thì phương thức sẽ trả về ngày sửa đổi cuối cùng . Nếu ngày sửa đổi cuối cùng cũng không được lưu trữ, thì kỷ nguyên (01.01.1970) sẽ được trả về.

4. Kết luận

Trong hướng dẫn này, chúng ta đã học cách xác định ngày tạo tệp trong Java. Cụ thể, chúng tôi đã biết rằng chúng tôi có thể làm điều đó với Files.getAttributeFiles.readAttributes .

Như mọi khi, mã cho các ví dụ có sẵn trên GitHub.