Cách xem thời gian chỉnh sửa cuối cùng của một file trong Java

Trong Java, chúng ta có thể sử dụng Files.readAttributes() method để lấy các medata của một file bất kỳ. Trong các metadata này chúng ta có thể xem lần chỉnh sửa cuối cùng của file thông qua lastModifiedTime() method.

  Path file = Paths.get("/home/deft/file.txt");

  BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);

  System.out.println("lastModifiedTime: " + attr.lastModifiedTime());

BasicFileAttributes

Trong ví dụ trên, BasicFileAttributes là một class được cung cấp bởi Java NIO dùng để lưu trữ các metadata của file như thời gian khởi tạo file, lần cuối truy cập, và lần cuối chỉnh sửa file.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;

public class GetLastModifiedTime1 {

    public static void main(String[] args) {

        String fileName = "/home/deft/file.txt";

        try {

            Path file = Paths.get(fileName);
            BasicFileAttributes attr =
                Files.readAttributes(file, BasicFileAttributes.class);

            System.out.println("creationTime: " + attr.creationTime());
            System.out.println("lastAccessTime: " + attr.lastAccessTime());
            System.out.println("lastModifiedTime: " + attr.lastModifiedTime());

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

Output

creationTime: 2020-07-20T09:29:54.627222Z
lastAccessTime: 2020-07-21T12:15:56.699971Z
lastModifiedTime: 2020-07-20T09:29:54.627222

Ngoài ra, BasicFileAttributes cũng hoạt động tương tự trên một thư mục, chúng ta cũng có thể xem các metadata của thư mục bằng cách chỉnh sửa lại đường dẫn thay vì trỏ đến file thì trỏ đến thư mục trong ví dụ trên.

File.lastModified

Trong Java IO, chúng ta cũng có thể sử dụng File.lastModified() để xem thời gian cuối cùng mà file được chỉnh sửa. Tuy nhiên method này trả về dạng milliseconds. Chúng ta có thể sử dụng SimpleDateFormat để chuyển đổi sang dạng ngày tháng dễ đọc hơn.

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

public class GetLastModifiedTime2 {

    public static void main(String[] args) {

        String fileName = "/home/deft/test";

        File file = new File(fileName);

        System.out.println("Before Format : " + file.lastModified());

        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

        System.out.println("After Format : " + sdf.format(file.lastModified()));

    }

}

Output

Before Format : 1595237394627
After Format : 07/20/2020 17:29:54

Nguồn

https://mkyong.com/java/how-to-get-the-file-last-modified-date-in-java/

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x