일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Array
- Files
- vscode
- 자바
- html
- javascript
- list
- string
- date
- 이클립스
- CSS
- Eclipse
- CMD
- js
- input
- 문자열
- 이탈리아
- 자바스크립트
- 배열
- Button
- 테이블
- json
- Maven
- 인텔리제이
- ArrayList
- windows
- Java
- Visual Studio Code
- IntelliJ
- table
- Today
- Total
어제 오늘 내일
[Java] 파일 최종수정일자 변경하기 본문
Java API를 이용하여 파일을 다루는 방법을 알아보고 있습니다.
[Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files)
이번에는, 파일 최종 수정일자를 변경하는 방법을 소개합니다.
- java.nio.file.Files
- 현재 날짜로
- 특정 날짜로
- java.io.File
- 현재 날짜로
- 특정 날짜로
1. java.nio.file.Files
public static Path setLastModifiedTime(Path path, FileTime time)
현재날짜, 특정 날짜로 변경하기
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.text.ParseException;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
public class GetModifyDate {
public static void main(String[] args) throws ParseException {
Path path = Paths.get("d:\\example\\text_file.txt");
try {
// 0. 최종 수정일자
System.out.println("최종수정일자(date) : " + Files.getLastModifiedTime(path));
// 1. 파일 최종수정일자를 현재 시간으로 변경
// 1.1 파라미터 준비
FileTime currentTime = FileTime.fromMillis(System.currentTimeMillis());
// FileTime currentTime = FileTime.from(Instant.now());
// FileTime currentTime = FileTime.from(System.currentTimeMillis();
// TimeUnit.MILLISECONDS);
// 1.2 수정
Files.setLastModifiedTime(path, currentTime);
// 1.3 결과 출력
System.out.println("최종수정일자(현재일자) : " + Files.getLastModifiedTime(path));
// 2. 파일 최종수정일자를 특정 시간으로 변경
// 2.1 파라미터 준비
LocalDateTime date = LocalDateTime.of(2021, 5, 5, 11, 11);
Instant instant = date.atZone(ZoneId.systemDefault()).toInstant();
FileTime time = FileTime.from(instant);
// 2.2 수정
Files.setLastModifiedTime(path, time);
// 2.3 결과 출력
System.out.println("최종수정일자(현재일자) : " + Files.getLastModifiedTime(path));
} catch (IOException e) {
e.printStackTrace();
}
}
}
결과
최종수정일자(date) : Sat Jun 05 20:55:32 KST 2021
최종수정일자(현재일자) : Sat Jun 05 23:31:52 KST 2021
최종수정일자(특정시간) : Wed May 05 11:11:11 KST 2021
Files.setLastModifiedTime() 메소드를 이용해서, 파일의 최종수정시간을 변경해 주는 예제입니다.
FileTime currentTime = FileTime.fromMillis(System.currentTimeMillis());
FileTime currentTime = FileTime.from(Instant.now());
FileTime currentTime = FileTime.from(System.currentTimeMillis();
2번째 파라미터인 FileTime에 시간을 지정해주기 위해서,
FileTime.from(), FileTime.fromMillis() 메소드를 사용하였습니다.
LocalDateTime date = LocalDateTime.of(2021, 5, 5, 11, 11);
Instant instant = date.atZone(ZoneId.systemDefault()).toInstant();
FileTime.from()의 파라미터로 Instant 객체를 전달하기 위해서
LocalDateTime 객체를 System의 타임존을 이용하여 Instant 객체로 변환하였습니다.
2. java.io.File
public boolean setLastModified(long time)
java.io.File 클래스의 setLastModified() 메소드는
시간을 지정하기 위해 파라미터로 millisecond를 입력받습니다.
현재날짜, 특정 날짜로 변경하기
import java.io.File;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GetModifyDate {
public static void main(String[] args) throws ParseException {
File file = new File("d:\\example\\text_file.txt");
// 0. 최종 수정일자
System.out.println("최종수정일자(date) : " + new Date(file.lastModified()));
// 1. 파일 최종수정일자를 현재 시간으로 변경
file.setLastModified(System.currentTimeMillis());
System.out.println("최종수정일자(현재일자) : " + new Date(file.lastModified()));
// 2. 파일 최종수정일자를 특정 시간으로 변경
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse("2021-05-05 11:11:11");
file.setLastModified(date.getTime());
System.out.println("최종수정일자(특정시간) : " + new Date(file.lastModified()));
}
}
결과
최종수정일자(date) : Sat Jun 05 20:55:32 KST 2021
최종수정일자(현재일자) : Sat Jun 05 23:31:52 KST 2021
최종수정일자(특정시간) : Wed May 05 11:11:11 KST 2021
java.nio.file.Files, java.io.File 클래스를 이용하여
파일의 최종 수정일자를 변경하는 방법을 알아보았습니다.
'IT > Java' 카테고리의 다른 글
[Java] 텍스트 파일의 마지막 라인부터 읽기 (0) | 2021.06.06 |
---|---|
[Java] Text 파일 라인수 세기 (0) | 2021.06.06 |
[Java] 파일의 최종 수정일자 조회 (0) | 2021.06.05 |
[Java] 파일 또는 디렉토리 생성일자 구하기 (0) | 2021.05.31 |
[Java] 디렉토리 생성하기 (0) | 2021.05.30 |