如何从objective-c中的文档目录中删除旧文件?

时间:2011-07-10 15:31:11

标签: objective-c cocoa nsdocumentdirectory

我想从objective-c中用户的~documents目录中删除旧文件(15天或更早)。有没有办法知道何时创建文件并随后删除它们?

1 个答案:

答案 0 :(得分:5)

我不完全理解您的问题,但我会假设您想要一种方法让Mac应用程序识别旧文件并删除它们。如果是这样,试试这个:

NSFileManager *fileManager = [[NSFileManager alloc] init];
NSArray *files = [fileManager contentsOfDirectoryAtPath:@"/samplePath/" error:NULL];

for (NSString *path in files) {
    BOOL isDir;
    if ([fileManager fileExistsAtPath:path isDirectory:&isDir] && !isDir) {
        NSDictionary *attr = [fileManager attributesOfItemAtPath:path error:NULL];
        NSDate *modDate = [attr objectForKey:NSFileModificationDate];
        //Do date math
    }
}

这将获取目录中每个日期的日期(只需用实际路径替换字符串@"/samplePath")。然后,您可以进行日期数学运算,以查找它被修改的时间。或者,您可以将NSFileModificationDate替换为NSFileCreationDate以获取文件的创建时间。