공부방/JAVA

JAVA::파일의 수정 날짜 확인하기

파일의 수정 날짜 확인하기

 

자바에서 파일을 사용하는 경우를 종종 접하게 되는데 이경우 파일의 수정날짜를 확인해야하는 경우가 있을 것이다.

이 경우 여러가지 방법을 사용할 수 있는데 해당 경우들에 대해서 소개를 해보도록 하겠다.(전부는 아닐 수 있음)

  1. BasicFileAttributes
  2. File.lastModified
  3. Files.getLastModifiedTime
  4. Files.getAttribute

BasicFileAttribute 사용

파일의 attribute(속성)을 읽어서 만든 객체를 통해 해당 파일의 수정날짜 등의 파일 속성을 담고있다.

그 속성객체에서 파일의 수정날짜를 출력시킴으로써 파일의 수정날짜를 확인 할 수 있다. 

 

사용 package

java.nio.*

 

Example source code

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 GetLastModifiedTime {

    public static void main(String[] args) {

        String fileName = "/home/sanghun/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();
        }

    }

}

lastModified 사용(Legacy IO)

파일객체에서 기본으로 제공하는 lastModified를 사용하는 방식이다.

lastModified를 호출하면 해당 파일의 최종수정날짜를 확인 할 수 있는데 milisecond로 계산된 Long value 값이 출력되기 때문에 SimpleDateFormat과 같은 메소드를 호출하여 날짜 형식을 맞춰줘야 보기 편한 형태로 데이터를 확인 할 수 있다.

 

사용 package

java.io.File

 

Example Source code

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

public class GetLastModifiedTime {

    public static void main(String[] args) {

        String fileName = "/home/sanghun/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()));

    }
    
}