如何查找最近两个月未访问的文件列表?

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 个月。

【讨论】:

以上是关于如何查找最近两个月未访问的文件列表?的主要内容,如果未能解决你的问题,请参考以下文章

搜索字符串列表并查找需要更新的文件版本

python如何查找两个文本文件之间的所有单词匹配

如何从数组中查找具有特定扩展名的文件列表

linux lsof命令详解

如何获取最近打开的文件列表?

如何使用 find 命令从列表中查找所有带有扩展名的文件?