美文网首页
NSFileManager基本使用

NSFileManager基本使用

作者: Coder007 | 来源:发表于2016-12-17 12:04 被阅读14次
    NSFileManager
    • 文件操作在开发中用到的比较少,最常用的就是计算缓存的大小,删除缓存目录下的文件之类的
    常用方法
    • NSFileManager是一个单例
    NSFileManager *manager = [NSFileManager defaultManager];
    
    • 常用方法
    // 判断一个文件或者文件夹是否存在
    BOOL flag = [manager fileExistsAtPath:@"/Users/coder/Desktop/video"];
    
    // 判断一个文件或者文件夹是否存在,并且判断是否是文件夹
    // 返回值说明传入的路径是否存在,isDirectory的值才表明是否是目录
    BOOL dir = NO;
    BOOL flag1 = [manager fileExistsAtPath:@"/Users/coder/Desktop/sublime.txt" isDirectory:&dir];
    
    // 获取文件或者文件夹属性
    NSDictionary *info = [manager attributesOfItemAtPath:@"/Users/coder/Desktop/sublime.txt" error:nil];
    
    // 获取文件夹下所有的文件
    // contentsOfDirectoryAtPath:方法只能获取当前文件夹下所有的文件,不能获取子文件夹下面的文件
    NSArray *res = [manager contentsOfDirectoryAtPath:@"/Users/coder/Desktop" error:nil];
    
    // 获取path的所有子路径
    NSArray *res1 = [manager subpathsAtPath:@"/Users/coder/Desktop"];
    NSArray *res2 = [manager subpathsOfDirectoryAtPath:@"/Users/coder/Desktop" error:nil];
    
    // 创建文件夹
    // createDirectoryAtPath:需要在什么地方创建文件夹
    // withIntermediateDirectories:如果指定的文件中有一些文件夹不存在,是否自动创建不存在的文件夹
    // attributes:指定创建出来的文件夹的属性
    // error:是否创建成功,如果失败会给传入的参数赋值
    // 注意:该方法只能用于创建文件夹,不能创建文件
    BOOL flag2 = [manager createDirectoryAtPath:@"/Users/coder/Desktop/111111/qwe" withIntermediateDirectories:YES attributes:nil error:nil];
    
    // 创建文件
    // createFileAtPath:指定文件创建的位置
    // contents:文件中的内容
    // attributes:创建出来文件的属性
    // 注意:该方法只能用于创建文件,不能创建文件夹
    NSString *str = @"123123123";
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    [manager createFileAtPath:@"/Users/coder/Desktop/111111/qwe/1.txt" contents:data attributes:nil];
    
    不常用方法(了解)
    // 判断目录是否可读
    BOOL flag1 = [manager isReadableFileAtPath:@"/Users/coder/Desktop/123"];
    
    // 判断目录是否可写
    BOOL flag2 = [manager isWritableFileAtPath:@"/Users/coder/Desktop/123"];
    
    // 判断目录是否可删除
    BOOL flag3 = [manager isDeletableFileAtPath:@"/Users/coder/Desktop/123"];
    
    // 读取文件内容
    NSData *data = [manager contentsAtPath:@"/Users/coder/Desktop/sublime.txt"];
    
    // 拷贝文件
    [manager copyItemAtPath:@"/Users/coder/Desktop/sublime.txt" toPath:@"/Users/coder/Desktop/123.txt" error:nil];
    
    // 移动文件
    [manager moveItemAtPath:@"/Users/coder/Desktop/123.txt" toPath:@"/Users/coder/Desktop/sublime1.txt" error:nil];
    
    // 删除
    [manager removeItemAtPath:@"/Users/coder/Desktop/sublime1.txt" error:nil];
    

    相关文章

      网友评论

          本文标题:NSFileManager基本使用

          本文链接:https://www.haomeiwen.com/subject/efbomttx.html