cocoa - NSFileManager 删除目录内容

标签 cocoa directory osx-snow-leopard nsfilemanager

如何删除目录中的所有内容而不删除目录本身?我想基本上清空一个文件夹,但保持它(和权限)完好无损。

最佳答案

例如通过使用目录枚举器:

NSFileManager *fileManager = [[NSFileManager alloc] init];
NSDirectoryEnumerator *enumerator = [fileManager enumeratorAtPath:path];    
NSString *file;

while (file = [enumerator nextObject]) {
    NSError *error = nil;
    BOOL result = [fileManager removeItemAtPath:[path stringByAppendingPathComponent:file] error:&error];

    if (!result && error) {
        NSLog(@"Error: %@", error);
    }
}

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)
}

关于cocoa - NSFileManager 删除目录内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769953/

相关文章:

ios - 我应该使用哪个版本的 Xcode 在 iPhone 3gs 设备 6.1.2 (10B146) 上运行我的应用程序

objective-c - 显示 View 列表

objective-c - NSTextField 自定义背景、边框和角

C++ .find() 函数在目录中搜索文件名

macos - 在 Mac 上,FSRead、FSWrite、SetFPos 等在哪里定义,我是否应该使用它们?

java - 写入文件时出现奇怪的字符 (Mac) (Java)

objective-c - 如何通过 NSArrayController 获得模型更改的通知?

macos - 通过在主队列上执行的 block 更新 NSProgressIndicator 时出现 CoreAnimation 警告

git - 如何将 'Watch' 只有 GitHub 存储库中的一个目录?

python - 使用python将文件夹添加到zip文件