iOS开发——遍历目录

本文介绍了一个实用的方法,用于遍历指定目录并返回所有指定后缀名(如.pdf)的文件列表。通过使用Objective-C和NSFileManager,实现了高效查找Documents目录中所有PDF电子书的功能。

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

实用工具类的积累是任何一个开发人员必不可少的财富。

今天的任务是遍历Documents目录,获得所有pdf电子书的书名,即文件名列表。这种需求很常见,于是乎,不如来捣鼓一个方法:

/** * @brief 获得指定目录下,指定后缀名的文件列表 * * @param type 文件后缀名 * @param dirPath 指定目录 * * @return 文件名列表 */ +(NSArray *) getFilenamelistOfType:(NSString *)type fromDirPath:(NSString *)dirPath;
方法的实现:

+(NSArray *)getFilenamelistOfType:(NSString *)type fromDirPath:(NSString *)dirPath { NSMutableArray *filenamelist = [NSMutableArray arrayWithCapacity:10]; NSArray *tmplist = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:dirPath error:nil]; for (NSString *filename in tmplist) { NSString *fullpath = [dirPath stringByAppendingPathComponent:filename]; if ([self isFileExistAtPath:fullpath]) { if ([[filename pathExtension] isEqualToString:type]) { [filenamelist addObject:filename]; } } } return filenamelist; } +(BOOL)isFileExistAtPath:(NSString*)fileFullPath { BOOL isExist = NO; isExist = [[NSFileManager defaultManager] fileExistsAtPath:fileFullPath]; return isExist; }



调用来验证一下:

NSArray *filename = [WQFileManager getFilenamelistOfType:@"pdf" fromDirPath:[WQPathUtilities documentsDirectory]]; NSInteger count = filename.count; NSLog(@"I have %d books in DocumentsDir",count); for (int i = 0; i<count; i++) { NSLog(@"NO.%d is %@",i+1,[filename objectAtIndex:i]); }


OK,完成任务!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值