J'ai trouvé le code ci-dessous pour supprimer le file dans l'objective-c, mais je veux seulement supprimer tous les files sous le directory de Caches
et garder le directory Caches
lui-même.
Quelqu'un pourrait-il suggérer la méthode pour le faire?
Merci
NSFileManager *filemgr; filemgr = [NSFileManager defaultManager]; if ([filemgr removeItemAtPath: [NSHomeDirectory() ssortingngByAppendingSsortingng:@"/Library/Caches"] error: NULL] == YES) NSLog (@"Remove successful"); else NSLog (@"Remove failed");
ACTUALISÉ
NSFileManager *filemgr; filemgr = [NSFileManager defaultManager]; if ([filemgr removeItemAtPath: [NSHomeDirectory() ssortingngByAppendingSsortingng:@"/Library/Caches"] error: NULL] == YES) NSLog (@"Remove successful"); else NSLog (@"Remove failed"); [filemgr createDirectoryAtPath: [NSHomeDirectory() ssortingngByAppendingSsortingng:@"/Library/Caches"] withIntermediateDirectories:NO atsortingbutes:nil error:nil];
Boucle à travers les files dans ce directory.
NSFileManager *fileMgr = [NSFileManager defaultManager]; NSArray *fileArray = [fileMgr contentsOfDirectoryAtPath:directory error:nil]; for (NSSsortingng *filename in fileArray) { [fileMgr removeItemAtPath:[directory ssortingngByAppendingPathComponent:filename] error:NULL]; }
- (void) removeDocuments { NSSsortingng *docDir = // get documents directory NSSsortingng *cacheDir = [docDir ssortingngByAppendingPathComponent: @"cacheDir"]; // check if cache dir exists // get all files in this directory NSFileManager *fm = [NSFileManager defaultManager]; NSArray *fileList = [fm contentsOfDirectoryAtPath: cacheDir error: nil]; // remove for(NSInteger i = 0; i < [fileList count]; ++i) { NSSsortingng *fp = [fileList objectAtIndex: i]; NSSsortingng *remPath = [cacheDir ssortingngByAppendingPathComponent: fp]; [fm removeItemAtPath: remPath error: nil]; } }