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

use*_*049 5 objective-c ios ios5

在我的缓存目录中,我有一个文件夹名称示例.在该示例文件夹中,我有子文件夹CSS,JS.现在我想删除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];

}
Run Code Online (Sandbox Code Playgroud)

谁能帮我.

Asi*_*eba 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];
Run Code Online (Sandbox Code Playgroud)

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

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

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
Run Code Online (Sandbox Code Playgroud)