我想从objective-c中用户的~documents
目录中删除旧文件(15天或更早)。有没有办法知道何时创建文件并随后删除它们?
答案 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
以获取文件的创建时间。