これが私が始めたコードです:
long modifiedTime = [some time here];
File oldFile = new File("old_name.txt");
boolean renamed = oldFile.renameTo(new File("new_name.txt");
boolean timeChanged = oldFile.setLastModified(modifiedTime);
System.out.println("renamed: " + renamed);
System.out.println("time changed: " + timeChanged);
そして、私が見た出力は次のとおりです。
renamed: true
time changed: false
しかし、私が試したとき:
long modifiedTime = [some time here];
boolean renamed = new File("old_name.txt").renameTo(new File("new_name.txt"));
boolean timeChanged = new File("new_name.txt").setLastModified(modifiedTime);
System.out.println("renamed: " + renamed);
System.out.println("time changed: " + timeChanged);
この出力で、うまくいくように見えました:
renamed: true
time changed: true
2 番目のアプローチが機能し、最初のアプローチが機能しないのはなぜですか?