目标C中的目录大小

时间:2011-09-28 06:57:09

标签: objective-c cocoa

由于NSFileManager没有返回目录大小的功能,因此什么是合适的&获取目录大小的快速方法?

2 个答案:

答案 0 :(得分:4)

没有快速方法:您必须以递归方式请求目录层次结构中每个文件的大小。

不要忘记处理特殊情况:

  • 具有多个硬链接的文件(或Time Machine卷上的目录):仅计算一次。
  • 特殊文件,例如/dev中的内容,但可以在任何地方创建。
  • 符号链接:不要跟随它们,而要计算它们的大小。

根据您的需要,您还必须选择文件内容的大小或磁盘上文件的大小。

答案 1 :(得分:2)

枚举文件夹中的所有目录。 “文件夹大小将是=该文件夹一侧的所有文件大小的总和。”

一些选项:

  1. 以编程方式执行相同操作我建议使用readdir_r的opendir来根据其CPU和内存来控制所有文件。
  2. 您可以使用shell运行du命令。
  3. 还有其他选择......这取决于你想做什么。