ファイルの最終変更時刻は、ファイルが閉じられたときにのみ変更されます。
public class Main {
public static void main(String[] args) throws IOException {
File f = new File("xyz.txt");
FileWriter fwr = new FileWriter(f);
System.out.println(f.lastModified());
fwr.write("asasdasdasd");
System.out.println(f.setLastModified(System.currentTimeMillis()));
fwr.flush();
System.out.println(f.lastModified());
fwr.close();
System.out.println(f.lastModified());
System.out.println(f.setLastModified(System.currentTimeMillis()));
}
}
さて、私の実際のプログラムでは、ファイルが開かれ、スレッドの1つがファイルを書き込み続けます。他のいくつかのスレッドは、データが最後にファイルに書き込まれたのはいつかを知る必要があります。
ファイルを閉じずに最終更新を更新する方法はありますか?(ファイルを書き込むスレッドにstatic
変数long lastWriteTime
があると機能しますが、ファイルを閉じずに最終変更時刻を変更する他の方法があるかどうかを知りたいだけです。)