如何删除Cache目录中的内容?

时间:2012-12-14 05:08:44

标签: objective-c ios ios5

在我的缓存目录中,我有一个文件夹名称示例。在示例文件夹中,我有子文件夹CSSJS。现在我想删除CSS子文件夹。我没有得到

我使用下面编写的代码。如果我使用此功能,我的整个示例文件夹将被删除。

NSFileManager *fileManager = [NSFileManager defaultManager];

NSString *cacheFolderPath = [NSSearchPathForDirectoriesInDomains(NSCacheDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSError *error = nil;

for (NSString *fileName in [fileManager contentsOfDirectoryAtPath:cacheFolderPath error:&error])

{
    [fileManager removeItemAtPath:[cacheFolderPath stringByAppendingPathComponent:fileName] error:&error];

}

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:8)

NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *cacheFolderPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSError *error = nil;
NSString *dir = [cacheFolderPath stringByAppendingPathComponent:@"yourCSSSUBFolderName"];
[[NSFileManager defaultManager] removeItemAtPath:dir error:nil];

您可以对要删除的任何其他目录执行相同的操作!

稍后如果要添加这些文件,请先创建该子文件夹,然后再添加e-g文件:

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);
NSString *directory = [paths objectAtIndex:0];
NSString *dirPath=[directory stringByAppendingPathComponent:@"yourCSSSUBFolderName"];
NSFileManager *fileManger=[NSFileManager defaultManager];
if(![fileManger fileExistsAtPath:dirPath])
{
    NSError *error = nil;
    [fileManger createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:&error];
}
// now add the directories
NSString *filePath = [dirPath stringByAppendingPathComponent:@"Yourfile.extension"];
[yourData writeToFile:filePath atomically:YES]; //Write to file
相关问题