NSFileManager—枚举目录

本文深入探讨了Objective-C语言中NSFileManager类的使用,具体包括如何创建文件管理器实例、获取当前工作目录路径、进行目录枚举操作及避免递归目录中的枚举过程。通过实例代码,读者将掌握在Objective-C环境中高效管理文件和目录的基本技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//
//  main.m
//  OC语言学习

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {
   
    @autoreleasepool {
       
        NSString *path;
        NSFileManager *fm;
        NSDirectoryEnumerator *dirEnum;
        NSArray *dirArray;
        
        //需要创建文件管理器的实例
        fm = [NSFileManager defaultManager];
        
        //获取当前工作目录的路径
        path = [fm currentDirectoryPath];
        
        //枚举目录
        dirEnum = [fm enumeratorAtPath:path];
        while ( (path =[dirEnum nextObject]) != nil) {
            NSLog(@"%@",path);
        }
        /*
         enumeratorAtPath:方法会递归目录,可以向枚举对象发送一条skipDescendants消息,动态阻止递归过程
         //阻止任何子目录中的枚举
         [fm fileExistsAtPath:path isDirectory:&flag];
         if (flag == YES) {
            [dirEnum skipDescendants];
         }
         */
        
        //另一种枚举目录的方法
        dirArray = [fm contentsOfDirectoryAtPath:[fm currentDirectoryPath] error:NULL];
        for (path in dirArray) {
            NSLog(@"%@",path);
        }
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值