是否可以重置Android文件的上次修改日期?

时间:2011-11-17 14:53:10

标签: android file last-modified

我正在为我们的软件编写清除功能,删除一个月内未使用过的所有图像文件。要做到这一点,我正在检查两件事:

  1. 文件的最后修改日期
  2. 对显示最近查看过的文件的数据库的查询。
  3. 查询比文件检查慢得多。因此,我希望能够在第一次检查失败的任何文件上重置上次修改日期,但是传递第二次,以便(例如)一个古老但经常使用的文件列表不会逐渐增加处理加载管理系统。

    有没有办法在不使用粗糙的东西(甚至可能更慢)的情况下做到这一点,比如将每个文件重命名为临时标签,然后自己?

2 个答案:

答案 0 :(得分:5)

正如Nik所说,setLastModified()类上的File方法可能并不总是有效,具体取决于您在Android文件系统中的位置。如果在SD卡上,则某些设备将从该呼叫返回false,因此不会更改日期。

这里有更多细节:

http://code.google.com/p/android/issues/detail?id=1992

http://code.google.com/p/android/issues/detail?id=1699

此处还有其他一些stackoverflow线程:

file.lastModified() is never what was set with file.setLastModified()

答案 1 :(得分:1)

setLastModified()是任何Java File对象的标准方法,可用于更新此值。

SDK Documentation