Filemanager 的使用

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 就可以了

上一篇:BZOJ_2179_FFT快速傅立叶_(FFT)


下一篇:SNS团队第四次站立会议(2017.04.25)