filemanager的使用包括:
1.创建文件夹
2.删除文件夹
3.写入文件
4.复制文件
5.移动文件
6.删除文件
一.创建文件夹
首先宏的定义一个字符串作为地址的来获取当前的document文件的路径,关于app的四个文件,今晚有时间的话会在后面写进去
#define kDocPath NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject
//创建文件夹的路径
NSString *filePath=[kDocPath stringByApprendingPathComnent:@"文件夹名字"];
//获取文件管理者
NSFileManager *manager=[NSFileManager defaultManager];
//创建文件夹
NSError *error=nil;
[manager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];
//判断一下是否创建成功
if (error) {
NSLog(@"error %@", error);
}else{
NSLog(@"doc: %@", kDocPath);
}
二 写入文件(此处为何不是删除文件夹,原因在后面)
//创建文件的路径
NSString *filePath1=[kDocPath stringByApprendingPathComnent:@"文件名字"];
//写入文件
[@"i like mei~~~"writeToFile:filePath1 tomically:NOencoding:NSUTF8StringEncodingerror:nil];
//查看写入路径
NSLog(@"写入文件 %@", filePath);
注意:写入文件时,文件会自动生成
三 复制文件
//创建路径
NSString *filePath2=[kDocPath stringByApprendingPathComnent:@"文件名字"];
//复制并判断
NSError *error = nil;
[[NSFileManager defaultManager] copyItemAtPath:filePath2 toPath:toPath error:&error];
if (error)
{
NSLog(@"error: %@", error);
}
else
{
NSLog(@"复制成功 %@", toPath);
}
四.移动文件
//创建路径
NSString *filePath3=[kDocPath stringByApprendingPathComnent:@"文件名字"];
//创建目的文件夹
NSString *toPath=[meiPath stringByAppendingPathComponent:@"desc"];
//移动文件夹
NSError *error = nil;
//两个路径 要么都是文件夹, 要么都是文件
//desc移动到 mei/desc
[[NSFileManager defaultManager] moveItemAtPath:filePath3 toPath:toPath error:&error];
if (error) {
NSLog(@"error %@", error);
}else{
NSLog(@"移动成功 %@", meiPath);
}
1.文件管理—NSFileManager
使用: [NSFileManager defaultManager] 来获取单例操作文件的对象
具体用法
1.创建文件夹—createDirectoryAtPath
2.移动文件/文件夹—moveItemAtPath
3.复制文件/文件夹—copyItemAtPath
4.删除文件/文件夹—removeItemAtPath
以上方法都是使用字符串路径进行操作,关键词是path
对应都有通过URL类型操作的方法,效果是一样的
例如: removeItemAtURL, copyItemAtURL……
重点,易错:
NSURL 和 path的转化
网络类型的地址path —> [NSURL URLWithString:path];
本地类型的地址path —> [NSURL fileURLWithPath:path];
path -> url 简单: url.path 就可以了