はじめに
Java には、ファイルの最終更新日時を取得するためのlastModified()やgetLastModifiedTime()などのいくつかの組み込みメソッドが用意されています。java.ioパッケージのFileクラスまたはjava.nioパッケージのFilesクラスのいずれかを使用して、ファイルの最終更新日時を取得することができます。この実験では、java.io.FileクラスのlastModified()メソッドとjava.nio.FilesクラスのgetLastModifiedTime()メソッドを使用して、ファイルの最終更新日時を取得します。
Java ファイルを作成する
~/projectディレクトリにLastModifiedTime.javaという名前の Java ファイルを作成します。ターミナルで以下のコマンドを使用します。
touch ~/project/LastModifiedTime.java
必要なライブラリをインポートする
java.io.File、java.io.IOException、java.nio.file.Files、java.nio.file.Path、およびjava.nio.file.attribute.FileTimeライブラリをインポートします。
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.FileTime;
lastModified() メソッドを使ってファイルの最終更新日時を取得する
lastModified() メソッドは java.io.File クラスに属し、ファイルの最終更新日時を long 型の値として返します。long 型の値を日付と時刻に変換するには、java.time.Instant クラスの Instant.ofEpochMilli() メソッドを使用できます。
Path filePath = Paths.get("path/to/file");
File file = new File(filePath.toString());
long lastModifiedTime = file.lastModified();
System.out.println("Last modified time: " + Instant.ofEpochMilli(lastModifiedTime));
path/to/file を実際のファイルパスに置き換えてください。
上記のコードをターミナルで実行した後、以下のコマンドを使用します。
javac LastModifiedTime.java && java LastModifiedTime
getLastModifiedTime() メソッドを使ってファイルの最終更新日時を取得する
getLastModifiedTime() メソッドは java.nio.file.Files クラスに属し、ファイルの最終更新日時と日付と時刻を返します。
Path filePath = Paths.get("path/to/file");
FileTime lastModifiedTime = Files.getLastModifiedTime(filePath);
System.out.println("Last modified time: " + lastModifiedTime);
path/to/file を実際のファイルパスに置き換えてください。
上記のコードをターミナルで実行した後、以下のコマンドを使用します。
javac LastModifiedTime.java && java LastModifiedTime
まとめ
この実験では、Java コードを使ってファイルの最終更新日時を取得する方法を学びました。java.io.File クラスの lastModified() メソッドと java.nio.Files クラスの getLastModifiedTime() メソッドを使って、ファイルの最終更新日時を取得しました。また、java.time.Instant クラスの Instant.ofEpochMilli() メソッドを使って、long 型の値を日付と時刻に変換する方法も学びました。



