5

私のキャッシュディレクトリには、フォルダ名Exampleがあります。そのサンプルフォルダーには、サブフォルダーがCSSありますJSCSSここで、サブフォルダーを削除します。私は得ていません

以下に書かれたコードを使用しました。これを使用すると、Exampleフォルダー全体が削除されます。

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];

}

誰でも私を助けることができます。

4

1 に答える 1

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];

削除したい他のディレクトリについても同じことができます!

後でそれらのファイルを追加する場合は、最初にそのサブフォルダーを作成し、次にファイルを追加します。

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
于 2012-12-14T05:33:54.250 に答える