Lou*_*uie 6 iphone objective-c ios iphone-4
我正在将图像下载到我的应用程序,几周之后用户就不会关心了.我将它们下载到应用程序中,这样就不必每次发布都下载它们.问题是我不希望Documents文件夹变得比它随时间变大.所以我认为我可以"清理"超过一个月的文件.
问题是,那里会有一些文件会超过一个月,但我不想删除.它们将是静态命名文件,因此它们很容易识别,只有3或4个.虽然我想删除几十个旧文件.这是一个例子:
picture.jpg <--Older than a month DELETE
picture2.jpg <--NOT older than a month Do Not Delete
picture3.jpg <--Older than a month DELETE
picture4.jpg <--Older than a month DELETE
keepAtAllTimes.jpg <--Do not delete no matter how old
keepAtAllTimes2.jpg <--Do not delete no matter how old
keepAtAllTimes3.jpg <--Do not delete no matter how old
Run Code Online (Sandbox Code Playgroud)
我怎样才能有选择地删除这些文件?
提前致谢!
roh*_*tel 12
用于删除超过两天的文件的代码.原来我在这里回答.我测试了它,它在我的项目中工作.
PS在删除Document目录中的所有文件之前要小心,因为这样做可能会丢失您的数据库文件(如果您正在使用.. !!),这可能会给您的应用程序带来麻烦.这就是为什么我保持条件在那里.:-))
// Code to delete images older than two days.
#define kDOCSFOLDER [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]
NSFileManager* fileManager = [[[NSFileManager alloc] init] autorelease];
NSDirectoryEnumerator* en = [fileManager enumeratorAtPath:kDOCSFOLDER];
NSString* file;
while (file = [en nextObject])
{
NSLog(@"File To Delete : %@",file);
NSError *error= nil;
NSString *filepath=[NSString stringWithFormat:[kDOCSFOLDER stringByAppendingString:@"/%@"],file];
NSDate *creationDate =[[fileManager attributesOfItemAtPath:filepath error:nil] fileCreationDate];
NSDate *d =[[NSDate date] dateByAddingTimeInterval:-1*24*60*60];
NSDateFormatter *df=[[NSDateFormatter alloc]init];// = [NSDateFormatter initWithDateFormat:@"yyyy-MM-dd"];
[df setDateFormat:@"EEEE d"];
NSString *createdDate = [df stringFromDate:creationDate];
NSString *twoDaysOld = [df stringFromDate:d];
NSLog(@"create Date----->%@, two days before date ----> %@", createdDate, twoDaysOld);
// if ([[dictAtt valueForKey:NSFileCreationDate] compare:d] == NSOrderedAscending)
if ([creationDate compare:d] == NSOrderedAscending)
{
if([file isEqualToString:@"RDRProject.sqlite"])
{
NSLog(@"Imp Do not delete");
}
else
{
[[NSFileManager defaultManager] removeItemAtPath:[kDOCSFOLDER stringByAppendingPathComponent:file] error:&error];
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5912 次 |
| 最近记录: |