可可或碳。
答案 0 :(得分:3)
要删除目录树(或文件),请使用-[NSFileManager removeItemAtPath:error:]
。这将直接删除文件(它将删除所有文件);如果您想将该项目移至“废纸篓”,请使用NSWorkspaceRecycleOperation
。
至于仅删除具有特定扩展名的文件:获取每个路径名的pathExtension
并使用caseInsensitiveCompare:
将其与您要查找的路径进行比较,然后删除该文件(如果它位于您的命中列表中)。
如果要将两者结合起来(即,仅删除目录树中具有给定扩展名的文件),则需要从NSFileManager获取目录枚举器并自行遍历目录树,逐个删除文件之一。
答案 1 :(得分:1)
是的,请务必使用垃圾箱,除非它们是用户不应该看到/知道的文件。
答案 2 :(得分:1)
删除具有特定扩展名的文件..
至少一种方式..这个例子只是查看应用程序文档目录中任何扩展名为jpg的文件并删除它们。
NSFileManager *fManager = [NSFileManager defaultManager];
NSString *dir = [self applicationDocumentsDirectory];
NSError *error;
NSArray *files = [fManager contentsOfDirectoryAtPath:dir error:&error];
for (NSString *file in files) {
if ([[[file pathExtension] lowercaseString] isEqualToString: @"jpg"])
{
[fManager removeItemAtPath: [dirstringByAppendingPathComponent:file] error:&error];
NSLog(@"removed: %@",file);
}
if (error) {
//deal with it
}
}