NSFileManager的基本使用

NSFileManager:用来操作磁盘上的文件/文件夹,主要对它们进行创建、删除、复制、拷贝、移动以及设置和获取属性

常用方法

//单例模式创建对象
NSFileManager *manager = [NSFileManager defaultManager];

NSString *path1 = @"/Users/frank/Desktop/Demo";
NSString *path2 = @"/Users/frank/Desktop/demo.txt";

//判断指定的文件或者文件夹在磁盘上是否真实存在
BOOL isExist = [manager fileExistsAtPath:path1];

//判断指定的路径是否真实的存储在磁盘上,并且判断这个路径是文件夹路径还是文件路径
BOOL flag =NO;
BOOL ressult = [manager fileExistsAtPath:path1 isDirectory:&flag];

//判断指定的文件夹或者文件是否可以读取
BOOL isRead = [manager isReadableFileAtPath:path2];

//判断指定的文件夹或者文件是否可以写入
BOOL isWriter = [manager isWritableFileAtPath:path2];

//判断指定的文件夹或者文件是否可以删除
BOOL isDelete = [manager isDeletableFileAtPath:path2];

//获取指定文件或者文件夹的属性信息(通过key,可以拿到特定的信息)
NSDictionary *dict = [manager attributesOfItemAtPath:path2 error:nil];

//获取指定目录下的所有的文件和目录(包括子目录的子目录)
NSArray *arr1 = [manager subpathsAtPath:path1];

//获取指定目录下的所有子目录和文件(不包括子目录的子目录)
NSArray *arr2 = [manager contentsOfDirectoryAtPath:path1 error:nil];

//在指定的目录创建文件
NSData *data = [@"你好" dataUsingEncoding:NSUTF8StringEncoding];
BOOL isSucceed = [manager createFileAtPath:@"/Users/frank/Desktop/hello.txt" contents:data attributes:nil];

//在指定的目录创建文件夹
/**
  第1个参数:路径
  第2个参数:YES就会连续创建文件夹;NO就不会做连续创建
  第3个参数:指定属性,nil为系统默认属性
  第4个参数:错误
*/
BOOL isSucceed1 = [manager createDirectoryAtPath:@"/Users/frank/Desktop/test"        
          withIntermediateDirectories:NO attributes:nil error:nil];

//拷贝文件
BOOL isSucc = [manager copyItemAtPath:@"/Users/frank/Desktop/hello.txt" toPath:@"/Users/frank/Desktop/test/hello.txt" error:nil];

//移动文件,文件的重命名(文件移动到原来的目录,名称改变)
BOOL isSucc1 = [manager moveItemAtPath:@"/Users/frank/Desktop/hello.txt" toPath:@"/Users/frank/Desktop/demo/hello.txt" error:nil];

//删除文件
BOOL isSucc2 = [manager removeItemAtPath:@"/Users/frank/Desktop/hello.txt" error:nil];

你可能感兴趣的:(NSFileManager,Objective-C)