如何查找最近两个月未访问的文件列表?
Posted
技术标签:
【中文标题】如何查找最近两个月未访问的文件列表?【英文标题】:How to find list of files which are not accessed for last two month? 【发布时间】:2013-09-12 10:38:38 【问题描述】:我正在创建一个应用程序,用于从互联网下载文件并保存到文档目录中。有一次该文档目录占用了巨大的内存,因为用户保存了更多文件。现在我决定删除未被访问的文件过去两个月的用户。我想知道在构建 ios 中是否有任何选项可以根据文件修改日期查找文档目录下的文件列表?请帮助我。
【问题讨论】:
【参考方案1】:试试这个。我认为该数组给出了带有修改日期的文件信息。
尝试根据日期比较创建一个函数并删除文件。
NSArray * arrayOfURLs = [fileManager contentsOfDirectoryAtURL:URL
includingPropertiesForKeys:@[NSURLIsDirectoryKey,
NSURLNameKey,
NSURLFileSizeKey,
NSURLContentModificationDateKey,
NSURLLocalizedTypeDescriptionKey]
options:NSDirectoryEnumerationSkipsHiddenFiles
error:nil];
【讨论】:
是否可以获得文件的最后访问日期?这是基于修改日期。【参考方案2】:获取上次文件访问日期
#include <sys/stat.h>
-(NSDate *)getFileAccessLastDateOfFile:(NSString *)aFilePath
struct stat output;
int ret = stat([aFilePath fileSystemRepresentation], &output);
struct timespec accessTime = output.st_atimespec;
NSDate *aDate = [NSDate dateWithTimeIntervalSince1970:accessTime.tv_sec];
return aDate;
【讨论】:
【参考方案3】:在NSURL Class
文档中,内容如下:
NSURLContentModificationDateKey
资源的时间 最近修改,如果卷返回为NSDate
对象 支持修改日期,如果修改日期是,则支持 nil 不支持。
然后使用 NSDate 的 timeIntervalSinceNow
,您将能够找到您的文件是否超过或少于 2 个月。
【讨论】:
以上是关于如何查找最近两个月未访问的文件列表?的主要内容,如果未能解决你的问题,请参考以下文章