實用工具類的積累是任何一個開發人員必不可少的財富。
今天的任務是遍歷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,完成任務!