iOS编程之NSFileManager

  • 在iOS编程过程中有时候需要对指定目录下的文件或者文件夹进行操作,那么就需要用到NSFileManager

  • 下面我们直接用实例来说明一下NSFileManager的具体用法

  • 场景如下:
    iOS编程之NSFileManager_第1张图片
    Snip20170111_21.png
  • 闲言少叙,直接上代码

NSFileManager *manager = [NSFileManager defaultManager];
NSError *error;
NSString *path = @"/Users/feng/Desktop/HTML5-视频整合";

//NSArray *contents = [manager contentsOfDirectoryAtPath:path error:&error];
NSArray *contents = [manager subpathsAtPath:path];
if (!error) {
    NSLog(@"正确查找文件内容!");
    //遍历内容打印所有内容名称
    [contents enumerateObjectsUsingBlock:^(NSString *content, NSUInteger idx, BOOL * _Nonnull stop) {
        //拼接成全路径
        NSString *fullPath = [path stringByAppendingPathComponent:content];
        //首先检查该内容是否是文件件
        BOOL isDirectory = NO;
        BOOL exists = [manager fileExistsAtPath:fullPath isDirectory:&isDirectory];
        if (exists && !isDirectory) {//文件
            NSString *fileName = [content lastPathComponent];
//                NSLog(@"%@---存在且是文件!", fileName);
            NSString *fileNametobeModified = [fileName stringByMatching:@"【.+】"];
            
            if(fileNametobeModified){
                NSLog(@"%@--文件需要修改",fileName);
                NSLog(@"%@----tobeModified--这是需要删除的字段", fileNametobeModified);
                
                NSString *ModifiedName = [fileName stringByReplacingOccurrencesOfString:fileNametobeModified withString:@""];
                
                NSLog(@"%@----修改完成的名字", ModifiedName);
                
                NSString *newFullPath = [fullPath stringByReplacingOccurrencesOfString:fileName withString:ModifiedName];
                NSLog(@"%@-----修改完成后全路径",newFullPath);
                
                [manager moveItemAtPath:fullPath toPath:newFullPath error:nil];
            }
            //删除指定名称的文件
            if ([fileName isEqualToString:@"课程使用必看【jkxy.taobao.com】.txt"]) {
                //NSLog(@"%@--------------可以删除", fullPath);
                NSError *error;
                [manager removeItemAtPath:fullPath error:&error];
                if (!error) {
                    NSLog(@"%@----文件删除成功!",fullPath);
                }
            }
        }else if (exists && isDirectory){//文件夹
            /*
            NSString *fileName = [content lastPathComponent];
            NSLog(@"%@---存在且是文件夹!", fileName);
            
            //删除指定名称的文件夹
            if ([fileName isEqualToString:@"极客学院"]) {
                NSLog(@"%@--------------可以删除", fullPath);
                NSError *error;
                [manager removeItemAtPath:fullPath error:&error];
                if (!error) {
                    NSLog(@"%@----文件删除成功!",fullPath);
                }
            }
             */
        }
        //NSLog(@"%@",content);
    }];
}else{
    NSLog(@"查找文件内容出错");
}

你可能感兴趣的:(iOS编程之NSFileManager)