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];

 

iOS 的文件操作

 

 

 

iOS 的文件操作

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

4.文件删除

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

 

5.从文件中读取图片

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

 

iOS 的文件操作

上一篇:3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论


下一篇:Android拦截并获取WebView内部POST请求参数