目标c:如何只删除目录下的所有文件,但保留目录本身

Cha*_*ung 10 iphone objective-c ios

我发现下面的代码删除了objective-c中的文件,但我只想删除目录下的所有文件Caches并保留目录Caches本身.

有人可以建议这样做的方法吗?

谢谢

NSFileManager *filemgr;

filemgr = [NSFileManager defaultManager];

if ([filemgr removeItemAtPath: [NSHomeDirectory() stringByAppendingString:@"/Library/Caches"] error: NULL]  == YES)
        NSLog (@"Remove successful");
else
        NSLog (@"Remove failed");
Run Code Online (Sandbox Code Playgroud)

更新

NSFileManager *filemgr;

filemgr = [NSFileManager defaultManager];

if ([filemgr removeItemAtPath: [NSHomeDirectory() stringByAppendingString:@"/Library/Caches"] error: NULL]  == YES)
    NSLog (@"Remove successful");
else
    NSLog (@"Remove failed");

[filemgr createDirectoryAtPath: [NSHomeDirectory() stringByAppendingString:@"/Library/Caches"] withIntermediateDirectories:NO attributes:nil error:nil];
Run Code Online (Sandbox Code Playgroud)

Han*_*non 42

循环遍历该目录中的文件.

NSFileManager *fileMgr = [NSFileManager defaultManager];
NSArray *fileArray = [fileMgr contentsOfDirectoryAtPath:directory error:nil];
for (NSString *filename in fileArray)  {

    [fileMgr removeItemAtPath:[directory stringByAppendingPathComponent:filename] error:NULL];
}
Run Code Online (Sandbox Code Playgroud)