NSFileManager基本用法

- (void)viewDidLoad {
    [super viewDidLoad];
    [self createFile];
    [self isFileExistAtPath];
    [self discriminateDictAndFile];
    [self getThewholeFileAtPath];
    // Do any additional setup after loading the view, typically from a nib.
}
/**
 *  创建目录与文件
 */

-(void)createFile{
    NSFileManager *manager=[NSFileManager defaultManager];
    NSString *dir=[NSHomeDirectory() stringByAppendingString:@"/Documents/text"];
    NSString *file=[dir stringByAppendingString:@"/myWord.txt"];
    BOOL dirResult=[manager createDirectoryAtPath:dir withIntermediateDirectories:YES attributes:nil error:nil];
    if (dirResult) {
        //创建成功
        NSLog(@"目录创建成功");
    }else{
        //创建失败
        NSLog(@"目录创建失败");
    }
    
    BOOL fileResult=[manager createFileAtPath:file contents:nil attributes:nil];
    if (fileResult) {
        //创建成功
        NSLog(@"文件创建成功");
    }else{
        //创建失败
        NSLog(@"文件创建失败");
    }
}



/**
 *  判断指定路径下的文件是否存在
 */

-(void)isFileExistAtPath{
    //创建fileManager对象
    NSFileManager *manager=[NSFileManager defaultManager];
    NSString *path=[NSHomeDirectory() stringByAppendingString:@"/Documents/text/myWord.txt"];
    BOOL isExist=[manager fileExistsAtPath:path];
    if (isExist) {
        //存在
        NSLog(@"指定目录下的文件存在");
    }else{
        //不存在
        NSLog(@"指定目录下的文件不存在");
    }
}

/**
 *  区分目录与文件
 */

-(void)discriminateDictAndFile{
    NSFileManager *manager=[NSFileManager defaultManager];
    NSString *path=[NSHomeDirectory() stringByAppendingString:@"/Documents/text"];
    BOOL isDict;
    BOOL isExit = [manager fileExistsAtPath:path isDirectory:&isDict];
    if (isExit && isDict) {
        //是目录
        NSLog(@"该路径是目录路径");
    }else if (isExit && !isDict){
        //是文件
        NSLog(@"该路径是文件路径");
    }else if (!isExit){
        //不存在
        NSLog(@"目录或文件不存在,非法路径!");
    }
}
/**
 *  获取指定目录下的所有文件
 */

-(void)getThewholeFileAtPath{
    NSFileManager *manager=[NSFileManager defaultManager];
    NSArray *myArr=[manager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
    NSURL *url=myArr[0];
    /**
     *  下面这段代码的意思是,取出当前url路径下的所有属性的文件(包括隐藏文件)
     */
    NSArray *fileArr=[manager contentsOfDirectoryAtURL:url includingPropertiesForKeys:nil options:!NSDirectoryEnumerationSkipsHiddenFiles error:nil];
    BOOL isDirct;
    for (NSURL *URLpath in fileArr) {
        if ([manager fileExistsAtPath:URLpath.path isDirectory:&isDirct] && isDirct) {
            NSLog(@"该路径下的目录--->%@",URLpath.lastPathComponent);
        }else{
            NSLog(@"该路径下的文件--->%@",URLpath.lastPathComponent);
        }
    }
    
}

你可能感兴趣的:(NSFileManager基本用法)