Is it possible to reset the last modified date of an Android file?

青春壹個敷衍的年華 提交于 2020-01-23 17:54:22

问题


I'm writing a purge function for our software that removes all image files that haven't been used in over a month. To do this, I am checking two things:

  1. the last-modified date of the file
  2. a query on a database that shows recently viewed files.

The query is much slower than the file check. So I would ideally like to be able to reset the last modified date on any files that fail the first check, but pass the second, so that (for example) a list of venerable but often-used files aren't gradually increasing the processing load of the management system.

Is there a way to do this without recourse to something crude (and possibly even slower), like renaming each file to a temporary label, then itself?


回答1:


setLastModified() is a standard method on any Java File object that you can use to update this value.

SDK Documentation.




回答2:


As Nik said the setLastModified() method on the File class may not always work depending where you are in the Android file system. If on the SD Card then some devices will return false from that call and thus not change the date.

There are more details about it here:

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

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

Plus some other stackoverflow thread here:

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



来源:https://stackoverflow.com/questions/8169165/is-it-possible-to-reset-the-last-modified-date-of-an-android-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!