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

时间:2013-09-12 10:38:39

标签: ios nsfilemanager

我正在创建一个用于从互联网下载文件并保存到文档目录中的应用程序。有一次该文档目录占用了大量内存,因为用户已经保存了更多文件。现在我决定删除未访问的文件用户最近两个月。我想知道是否有基于文件修改日期在构建IOS选项中查找文档目录下的文件列表?请帮帮我。

3 个答案:

答案 0 :(得分:1)

试试这个。我认为数组提供了具有修改日期的文件信息。

尝试根据日期比较创建一个功能并删除文件。

NSArray * arrayOfURLs = [fileManager contentsOfDirectoryAtURL:URL 
                                   includingPropertiesForKeys:@[NSURLIsDirectoryKey, 
                                                                NSURLNameKey, 
                                                                NSURLFileSizeKey, 
                                                                NSURLContentModificationDateKey,
                                                                NSURLLocalizedTypeDescriptionKey]
                                                      options:NSDirectoryEnumerationSkipsHiddenFiles 
                                                        error:nil];

答案 1 :(得分:0)

NSURL Class文档中,它显示为:

  

NSURLContentModificationDateKey资源的时间   最近修改过的,如果是卷,则作为NSDate对象返回   支持修改日期,如果修改日期为nil,则为nil   不支持的。

然后使用NSDate的timeIntervalSinceNow,您将能够找到您的文件是否大于或少于2个月。

答案 2 :(得分:0)

获取上次文件访问日期

#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;
}