为什么setLastModified(time)不能用于此文件?

bbh*_*zbb 6 java date file

为什么以下代码中的文件日期没有更改?

fLocal.location = C:\中的现有文件

fLocal.date =在Long中设置的日期

boolean x = new File(fLocal.location).setLastModified(Long.parseLong(fLocal.date));
System.out.println("Changed: " + x);
System.out.println(new Date(new File(fLocal.location).lastModified()));
System.out.println(new Date(Long.parseLong(fLocal.date)));
Run Code Online (Sandbox Code Playgroud)

输出:

Changed: false
Fri Feb 15 23:02:51 CET 2013
Fri Feb 15 22:49:34 CET 2013
Run Code Online (Sandbox Code Playgroud)

Jos*_*hDM 2

根据我之前的评论,请遵循以下检查:

  1. 您的代码是否具有对该文件的写访问权限?
  2. 文件是否处于打开状态?
  3. 在执行此操作时,您当前是否正在使用任何其他应用程序读取(或写入!)该文件?

这些都是可能阻止您更改文件时间的项目。

创建一个包含单行文本的简单纯文本文件,保存并关闭编辑器。然后尝试在您的应用程序中使用该文件。在尝试更改时间之前,请务必先致电exists()您,以确保您确实拥有有效的文件。File Object