本文介绍了NSFileManager删除目录的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何删除目录的所有内容而不删除目录本身?
How do you delete all the contents of a directory without deleting the directory itself? I want to basically empty a folder yet leave it (and the permissions) intact.
推荐答案
例如,我想基本上清空一个文件夹,通过使用目录枚举器:
E.g. by using a directory enumerator:
NSFileManager* fm = [[[NSFileManager alloc] init] autorelease];
NSDirectoryEnumerator* en = [fm enumeratorAtPath:path];
NSError* err = nil;
BOOL res;
NSString* file;
while (file = [en nextObject]) {
res = [fm removeItemAtPath:[path stringByAppendingPathComponent:file] error:&err];
if (!res && err) {
NSLog(@"oops: %@", err);
}
}
Swift
let fileManager = NSFileManager.defaultManager()
let enumerator = fileManager.enumeratorAtURL(cacheURL, includingPropertiesForKeys: nil, options: nil, errorHandler: nil)
while let file = enumerator?.nextObject() as? String {
fileManager.removeItemAtURL(cacheURL.URLByAppendingPathComponent(file), error: nil)
}
这篇关于NSFileManager删除目录的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!