六十七、基础框架(二十五)文件操作-列举 目录内容

有些时候,你  会需要将  目录的内容  列举出来。要将  目录的内容列举出来,既可以采取  enumeratorAtPath:这项措施  也可以采取  directoryContentsAtPath:这项措施。如果  采取  enumeratorAtPath:这项措施,那么  子目录中的内容  也会被列举出来。

如果  采取  directoryContentsAtPath:这项措施,那么  特定目录中的内容  就会被列举出来,列举的结果  会存储  在数组物件当中。如果  目录当中  包含  子目录,那么  子目录的内容  则不会被列举出来。

下面的程序  示范了  如何列举  目录中的内容:

运行  这个程序后,可以得到  这样的结果

仔细  看看  这几行语句:

首先  对  文件管理器物件myFileManager  采取了  enumeratorAtPath:这项措施。enumeratorAtPath:这项措施  会将  一个NSDictionaryEnumerator物件  存储  在myDictionaryEnumerator当中。
这行语句中  每当你  对  myDictionaryEnumerator这个物件  采取  nextObject这项措施,你  都会得到  目录中下一个文件或者目录的路径,并且  存储  在变量path当中,再  利用  NSLog()函数  显示出来。直到  所有文件或者目录的路径都  找到后,你  就会得到  一个空值nil,并且  跳出  while()循环。
在程序的运行结果当中  你  可以看到  两种列举目录内容的技巧之不同。enumeratorAtPath:会将  目录中子目录的内容  列举出来,而  directoryContentsAtPath:  则不会。在while()循环执行的过程中  我们  可以这样避免  子目录中的内容  被列举出来:

其中  flag  是  BOOL类型的变量。如果  当前的路径path  是  目录,那么  fileExistsAtPath:isDirectory:这项措施  就会将  YES  存储  在flag当中;如果  不是,则会将  NO  存储  在flag当中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值