简体   繁体   中英

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

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?

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()

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

SDK Documentation .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM