iOS 递归获取某个目录下的所有文件路径

- (NSMutableArray *)filePathArray:(NSString *)directoryPath
{
    NSMutableArray *mFilePathArray = [NSMutableArray array];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    
    NSArray *array = [fileManager contentsOfDirectoryAtPath:directoryPath error:nil];
    __block BOOL isDir = YES;
    [array enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL * _Nonnull stop) {
        
        Model_db_List *model = [Model_db_List new];;
        
        NSString *path = [directoryPath stringByAppendingPathComponent:obj];
        if ([fileManager fileExistsAtPath:path isDirectory:&isDir]){

            model = [Model_db_List new];
            model.isDir = isDir;
            if (isDir) {
                model.subPaths = [self filePathArray:path];
            }
        }
        if (model) {
            model.fileName = obj;
            model.path = path;
            [mFilePathArray addObject:model];
        }
    }];
    return mFilePathArray;
}

@interface Model_db_List : NSObject

@property (nonatomic,strong) NSMutableArray <Model_db_List *>*subPaths;

@property (nonatomic, assign) BOOL isDir;

@property (nonatomic,copy) NSString *fileName;

@property (nonatomic,copy) NSString *path;

@end
#import "Model_db_List.h"

@implementation Model_db_List

- (NSString *)description
{
    return self.fileName;
}

@end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容