【问题标题】:Get the count of files in a directory获取目录中文件的数量
【发布时间】:2011-01-17 18:49:49
【问题描述】:

如何计算目录中的文件数?我在 NSFileManager 的类引用中找不到任何相关内容。

【问题讨论】:

    标签: objective-c ios cocoa nsfilemanager


    【解决方案1】:

    contentsOfDirectoryAtPath:error: 返回一个NSArray。只需将count 发送到数组即可。

    【讨论】:

      【解决方案2】:

      contentsOfDirectoryAtPath:error: 返回目录(文件 + 文件夹)中所有内容NSArray

      要仅获取文件计数,您可以按如下方式过滤:

      NSMutableArray *files = [[NSMutableArray alloc] init];
      NSArray *itemsInFolder = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:folderpath error:NULL];
      
      NSString *itemPath;
      BOOL isDirectory;
      for (NSString *item in itemsInFolder){
          itemPath = [NSString stringWithFormat:@"%@/%@", folderpath, item];
          [[NSFileManager defaultManager] fileExistsAtPath:item isDirectory:&isDirectory];
          if (!isDirectory) {
              [files addObject:item];
          }
      }
      
      return [files count];
      

      【讨论】:

        【解决方案3】:

        subpathsOfDirectoryAtPath:error:返回一个数组,目标目录的所有路径都包含子目录。

        但正如文档所说,“您可能不想在性能关键代码中使用它。”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-13
          • 1970-01-01
          • 1970-01-01
          • 2010-11-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-11
          相关资源
          最近更新 更多