파일의 수정 날짜 확인하기
자바에서 파일을 사용하는 경우를 종종 접하게 되는데 이경우 파일의 수정날짜를 확인해야하는 경우가 있을 것이다.
이 경우 여러가지 방법을 사용할 수 있는데 해당 경우들에 대해서 소개를 해보도록 하겠다.(전부는 아닐 수 있음)
- BasicFileAttributes
- File.lastModified
- Files.getLastModifiedTime
- 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()));
}
}
'공부방 > JAVA' 카테고리의 다른 글
자바 함수형 인터페이스 (0) | 2024.12.09 |
---|---|
[이것이자바다] chapter 1. 자바 시작하기 (0) | 2023.04.18 |
[모던 자바 인 액션] chapter 1. 자바 8, 9, 10, 11??? (0) | 2023.02.17 |
JAVA::JVM에 대한 이해 (0) | 2021.12.22 |
JAVA::자바에서 형변환(Casting)하기 (0) | 2021.11.26 |