概要
Javaで「ファイルの最終更新日時の取得と設定(Files.getLastModifiedTime)」の動作を確認してみました。以下のページを参考にしました。
実装
以下のファイルを作成しました。
JSample10_1.java
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
import java.nio.file.attribute.FileTime;
import java.time.Instant;
import java.time.ZoneId;
import java.time.LocalDateTime;
class JSample10_1{
public static void main(String[] args){
Path p = Paths.get("/code/java/file/doc/memo.txt");
try{
FileTime fileTime = Files.getLastModifiedTime(p);
Instant instant = fileTime.toInstant();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
System.out.println(localDateTime);
}catch(IOException e){
System.out.println(e);
}
}
}
以下のコマンドを実行しました。
$ javac JSample10_1.java
$ java JSample10_1
2023-08-18T14:21:49.218605521
以下のファイルを作成しました。
JSample10_2.java
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
import java.nio.file.attribute.FileTime;
import java.time.Instant;
class JSample10_2{
public static void main(String[] args){
Path p = Paths.get("/code/java/file/doc/memo.txt");
try{
FileTime fileTime = FileTime.from(Instant.now());
Files.setLastModifiedTime(p, fileTime);
}catch(IOException e){
System.out.println(e);
}
}
}
以下のコマンドを実行しました。
$ javac JSample10_2.java
$ java JSample10_2
$ java JSample10_1
2023-08-18T14:23:42.066048965
まとめ
何かの役に立てばと。