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

And*_*yld 1 android file last-modified

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

  1. 文件的最后修改日期
  2. 对显示最近查看过的文件的数据库的查询.

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

有没有办法做到这一点,而无需求助于原始(甚至可能更慢)的东西,比如将每个文件重命名为临时标签,然后自己?

elp*_*prl 5

正如Nik所说,根据您在Android文件系统中的位置setLastModified(),File该类的方法可能并不总是有效.如果在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()永远不会是用file.setLastModified()设置的