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 *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

你可能感兴趣的:(iOS 递归获取某个目录下的所有文件路径)