iOS 的文件操作

直接上操作 

效果:将一张图片写入文件 (图片本身已经在Assets.xcassets里面了)

 

1.获取当前app的沙盒路径

NSString *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject;
     /*
     1.第一个参数 获取什么路径 最常用:NSDocumentationDirectory
     2.第二个参数 常用 NSUserDomainMask 用户可以操作的路径
     3.第三个 是否展开 一般 yes
     */
NSLog(@"%@",documentPath);

 

 

最后一句可以打印获得的地址字符串

2.在当前目录下创建一个文件

     a.拼接需要创建的文件的完整路径

1 //NSString *filePath = [documentPath stringByAppendingString:@"/1.jpg"]; 
2 //使用这个方法注意不要缺反斜杠
3 //a.拼接需要创建的文件的完整路径
4     NSString *filePath = [documentPath stringByAppendingPathComponent:@"1.jpg"];
5     

 

     b.创建文件 NSFileManager 文件里面保存的都是二进制数据    

1 //2.创建文件 NSFileManager 文件里面保存的都是二进制数据
2     [[NSFileManager defaultManager]createFileAtPath:filePath contents:nil attributes:nil];

 

3.写入数据 将一张图片写入文件,文件中保存的数据都是二进制的形式,因此需要将写入的内容转化为二进制 uiimage->nsdata

1 UIImage *img = [UIImage imageNamed:@"1"];
2     NSData *imgData = UIImagePNGRepresentation(img);
3     
4     [imgData writeToFile:filePath atomically:YES];

 

 

 

 

可见,图片已经存入文件里

4.文件删除

1 [[NSFileManager defaultManager]removeItemAtPath:filePath error:nil];

 

5.从文件中读取图片

1 NSData *d = [NSData dataWithContentsOfFile:filePath];
2     UIImage *im = [UIImage imageWithData:d];
3 //注意这里的filePath 就是上面我们拼接的那个路径

 

posted on 2019-04-12 19:03  秃头女孩今夜也不睡觉  阅读(174)  评论(0编辑  收藏  举报

导航