반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바
- vscode
- 테이블
- 인텔리제이
- Java
- Button
- 자바스크립트
- javascript
- Maven
- IntelliJ
- windows
- Visual Studio Code
- table
- CMD
- list
- string
- js
- date
- json
- ArrayList
- CSS
- Array
- Eclipse
- input
- 문자열
- 배열
- 이탈리아
- html
- 이클립스
- Files
Archives
- Today
- Total
어제 오늘 내일
[Java] 파일의 최종 수정일자 조회 본문
Java API를 이용하여, 파일을 다루는 방법을 알아보고 있습니다.
[Java] 텍스트 파일 읽기 ( FileReader, BufferedReader, Scanner, Files )
[Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files)
이번에는, 파일의 최종 수정일자를 조회하고, 변경하는 방법을 소개합니다.
- java.nio.file.Files의 attribute 읽기
- java.nio.file.Files.getLastModifiedTime()
- java.io.File의 lastModified()
1. java.nio.file.Files의 attribute 읽기
파일의 최종 수정일자는 java.nio.files.Files 클래스의 attribute를 읽어서 구할 수 있습니다.
파일의 attribute를 읽는 방법은
이전의 포스팅인 '파일 또는 디렉토리 생성일자 구하기' 포스팅을 참조하세요.
예제 1. Files.getAttribute()
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
public class GetModifyDate {
public static void main(String[] args) {
Path file = Paths.get("d:\\example\\text_file.txt");
try {
// 파일 생성일자/수정일자 찾기
FileTime creationTime = (FileTime) Files.getAttribute(file, "creationTime");
FileTime lastModifiedTime = (FileTime) Files.getAttribute(file, "lastModifiedTime");
// 결과 출력
System.out.println("최초생성일자 : " + creationTime);
System.out.println("최종수정일자 : " + lastModifiedTime);
} catch (IOException e) {
e.printStackTrace();
}
}
}
예제 2. Files.readAttributes()
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
import java.util.Map;
public class GetModifyDate {
public static void main(String[] args) {
Path file = Paths.get("d:\\example\\text_file.txt");
try {
// 파일 속성 찾기
Map<String, Object> attributes = Files.readAttributes(file, "*");
FileTime creationTime = (FileTime) attributes.get("creationTime");
FileTime lastModifiedTime = (FileTime) attributes.get("lastModifiedTime");
// 결과 출력
System.out.println("생성시간 : " + creationTime);
System.out.println("최종변경시간 : " + lastModifiedTime);
} catch (IOException e) {
e.printStackTrace();
}
}
}
예제 3. Files.readAttributes()
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;
import java.nio.file.attribute.FileTime;
public class GetModifyDate {
public static void main(String[] args) {
Path file = Paths.get("d:\\example\\text_file.txt");
try {
// 파일 생성일자/수정일자 찾기
BasicFileAttributes basicFileAttributes
= Files.readAttributes(file, BasicFileAttributes.class);
FileTime creationTime = basicFileAttributes.creationTime();
FileTime lastModifiedTime = basicFileAttributes.lastModifiedTime();
// 결과 출력
System.out.println("최초생성일자 : " + creationTime);
System.out.println("최종수정일자 : " + lastModifiedTime);
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. java.nio.file.Files.getLastModifiedTime()
public static FileTime getLastModifiedTime(Path path, LinkOption... options)
Files 클래스는 간단하게 최종 수정일자를 가져올 수 있는 메소드를 제공합니다.
파라미터
- path
- file path
- options
- symbolic link를 처리하는 방법.
- default : 아무것도 입력하지 않으면 default로 link의 최종 target 파일의 속성값을 읽습니다.
- NOFOLLOW_LINKS : symbolic link의 target 속성이 아닌, symbolic link의 속성을 읽습니다.
예제
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
public class GetModifyDate {
public static void main(String[] args) {
Path file = Paths.get("d:\\example\\text_file.txt");
try {
// 파일 수정일자 찾기
FileTime lastModifiedTime = Files.getLastModifiedTime(file);
// 결과 출력
System.out.println("최종수정일자 : " + lastModifiedTime);
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. java.io.File의 lastModified()
public long lastModified()
File 클래스의 lastModified() 메소드를 이용하면,
파일의 최종 수정일자를 long 타입(밀리세컨드)으로 얻을 수 있습니다.
예제
import java.io.File;
import java.util.Date;
public class GetModifyDate {
public static void main(String[] args) {
File file = new File("d:\\example\\text_file.txt");
// 파일 수정일자 찾기
long lastModifiedTime = file.lastModified();
// 결과 출력
System.out.println("최종수정일자(ms) : " + lastModifiedTime); // 1622894132032
System.out.println("최종수정일자(date) : " + new Date(lastModifiedTime)); // Sat Jun 05 20:55:32 KST 2021
}
}
new Date(lastModifiedTime);
File 클래스의 lastModified() 메소드는 밀리초 단위의 long 타입을 리턴합니다.
따라서, 밀리초를 날짜로 변환해주기 위해서 Date 클래스를 사용하였습니다.
파일의 최종 수정일자를 구하는 방법을 알아보았습니다.
반응형
'IT > Java' 카테고리의 다른 글
[Java] Text 파일 라인수 세기 (0) | 2021.06.06 |
---|---|
[Java] 파일 최종수정일자 변경하기 (0) | 2021.06.05 |
[Java] 파일 또는 디렉토리 생성일자 구하기 (0) | 2021.05.31 |
[Java] 디렉토리 생성하기 (0) | 2021.05.30 |
[Java] 파일 사이즈 구하는 3가지 방법 (0) | 2021.05.30 |
Comments