2
  1. 删除文件夹、删除所有子文件夹和文件的最佳方法是什么?
  2. 删除具有特定扩展名的文件的最佳方法是什么?例如,如果我只想删除带有“.txt”扩展名的文件?

可可或碳。

4

3 回答 3

3

要删除目录树(或文件),请使用-[NSFileManager removeItemAtPath:error:]. 这会直接删除文件(并将删除所有文件);如果您想将项目移动到废纸篓,请使用NSWorkspaceRecycleOperation .

至于仅删除具有特定扩展名的文件:获取每个路径名pathExtension并将caseInsensitiveCompare:其与您要查找的文件进行比较,然后如果该文件在您的命中列表中,则将其删除。

如果您想将两者结合起来(即,仅删除目录树中具有给定扩展名的文件),您需要从 NSFileManager 获取目录枚举器并自己遍历目录树,逐个删除文件。

于 2009-08-24T13:39:55.530 回答
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
          }
     }
于 2011-02-22T07:24:46.620 回答
1

是的,一定要使用回收站,除非它们当然是用户不应该看到/知道的文件。

于 2009-08-24T15:15:49.973 回答