Вот код, с которого я начал:
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
Почему второй подход работает, а первый нет?