iOS開發——遍歷目錄

       實用工具類的積累是任何一個開發人員必不可少的財富。

       今天的任務是遍歷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,完成任務!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章