本文介绍了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删除目录的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 00:53