NSFileManager基本使用

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,002评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,237评论 30 472
  • 自我要求对于一个人的成长是不和或缺的,读书也不例外,在阅读的时候要保持清醒,将精神集中在所的的书本上是很重要的,读...
    _借东西的小人阅读 209评论 0 1
  • 刚刚才明白这是迷恋 不经意总会想起他 总会幻想和他不期而遇 有想法有决定总想告诉他 努力生活时 总会想他在身边就好...
    和s先生无关的小左阅读 117评论 0 0