iOS开发沙盒机制文件操作

原创 2016年05月30日 10:53:50

上一篇写到了沙盒机制的原理,下面来进行实战,详细介绍一下根据沙盒机制来进行文件的各种操作

1.写入

//获取Documents文件路径

    NSString *doucumentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];


#pragma mark - 字符串写入本地

    //拼接文件路径 下面两种方法均可

         //拼接的路径test.TXT自己随便给,不过后缀应该注意一下

    NSString *filePath = [doucumentsPath stringByAppendingPathComponent:@"test.TXT"];

    //NSString *filePath = [doucumentsPath stringByAppendingString:@"/test.TXT"];

    //写入

    [str1 writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

#pragma mark - 数组写入本地

    //数组

    NSArray *arr = @[str1,str2];

    //拼接文件路径

    NSString *filePath = [doucumentsPath stringByAppendingPathComponent:@"arr.plist"];

    //写入

    [arr writeToFile:filePath atomically:YES];


#pragma mark - 字典的写入本地

    //字典

    NSDictionary *dic = @{@"tf1":_Tf1.text,@"tf2":_Tf2.text};

    //文件拼接

    NSString *filePath = [doucumentsPath stringByAppendingPathComponent:@"dic.plist"];

    //写入

    [dic writeToFile:filePath atomically:YES];

#pragma mark - NSData的写入本地

    //data

    NSData *data = [str1 dataUsingEncoding:NSUTF8StringEncoding];

    //文件拼接

    NSString *filePath = [doucumentsPath stringByAppendingPathComponent:@"data.TXT"];

    //写入

    [data writeToFile:filePath atomically:YES];


2.读取

    //获取文件路径

    //获取documnets文件路径

    NSString *documnetsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];


#pragma mark - 字符串读取

    //拼接文件路径

    NSString *filePath = [documnetsPath stringByAppendingPathComponent:@"test.TXT"];

    //读取

    NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

#pragma mark - 数组读取

   //文件路径拼接

    NSString *filePath = [documnetsPath stringByAppendingPathComponent:@"arr.xml"];

    //读取

    NSArray *arr = [NSArray arrayWithContentsOfFile:filePath];

#pragma mark - 字典读取

    //文件路径拼接

    NSString *filePath = [documnetsPath stringByAppendingPathComponent:@"dic.plist"];

    //读取

    NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath];

#pragma  mark - data读取

    //文件路径拼接

    NSString *filePath = [documnetsPath stringByAppendingPathComponent:@"data.TXT"];

    //读取

    NSData *data = [NSData dataWithContentsOfFile:filePath];

   当然NSData数据要进行转化之后进行数据的操作


3.创建

 //获取documents 文件路径

    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];

    //拼接文件夹路径

    NSString *filePath = [documentsPath stringByAppendingPathComponent:@"Images"];

    //创建文件管理对象

    NSFileManager *manager = [NSFileManager defaultManager]; 

    //创建

    [manager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil];


4.移动

 //Images移动到 Caches

    //oldPath

    //获取tmp文件路径

    NSString *tempPath = NSTemporaryDirectory();

    //拼接

    NSString *oldPath = [tempPath stringByAppendingPathComponent:@"Images"];

    

    //newPath

    //获取Caches文件路径

    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];

    //拼接

    NSString *newPath = [cachesPath stringByAppendingPathComponent:@"Images"];

    //创建文件管理对象

    NSFileManager *manager = [NSFileManager defaultManager];

    

    //移动

    [manager moveItemAtPath:oldPath toPath:newPath error:nil];


5.复制

    //1.获取tmp文件路径

    NSString *tmp = NSTemporaryDirectory();

    //2.文件拼接

    NSString *newPath = [tmp stringByAppendingPathComponent:@"Images"];

    //创建文件管理对象

    NSFileManager *manager = [NSFileManager defaultManager];

    

    //获取doucuments 文件路径

    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

    //文件拼接

    NSString *oldPath = [documentsPath stringByAppendingPathComponent:@"Images"];

    

    //复制

    [manager copyItemAtPath:oldPath toPath:newPath error:nil];


6.删除(清除缓存)

 //获取Caches文件路径

    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];

    //拼接

    NSString *filePath = [cachesPath stringByAppendingPathComponent:@"Images"];

    

    //创建文件管理对象

    NSFileManager *manager = [NSFileManager defaultManager];

    

    [manager removeItemAtPath:filePath error:nil];


7.文件是否存在

//获取caches文件路径

    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];

    //拼接

    NSString *filePath = [cachesPath stringByAppendingPathComponent:@"Images"];

    

    //创建文件管理对象

    NSFileManager *manager = [NSFileManager defaultManager];

    

    //判断是否存在

    BOOL isExist = [manager fileExistsAtPath:filePath];


希望对大家有所帮助


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[iOS开发]沙盒中的文件操作

这是我遇到的一个问题,不具备普遍性,最后解决的也很戏剧化。如下图就是出现了这个问题: 纠结了一个下午,各处找答案:通过一些网页,在stackoverflow上发现了一个答案,可能对大多数人有用:...

IOS沙盒(sandbox)机制和文件操作(一)

http://my.oschina.net/jackyyang/blog/67127 1人收藏此文章, 我要收藏发表于1个月前(2012-07-14 19:40) , 已有433次阅读 ...

IOS沙盒(sandbox)机制和文件操作

转自:iOS学习之iOS沙盒(sandbox)机制和文件操作(二)
  • f10_s
  • f10_s
  • 2014-10-30 10:28
  • 846

IOS沙盒(sandbox)机制和文件操作(二)

1、获取程序的Home目录 [cpp] view plain copy NSArray *paths = NSSearchPathForDirectoriesInDomains...

iOS 应用沙盒机制与文件操作

一、IOS沙盒机制 概述:IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,...

IOS沙盒(sandbox)机制和文件操作(一)

转载:http://my.oschina.net/jackyyang/blog/67127 1、IOS沙盒机制  IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地...

IOS沙盒(sandbox)机制和文件操作(三)

转载:http://www.oschina.net/ios/302/ios-file-operations 1、在Documents里创建目录 创建一个叫test的目录,先找到Docume...

iOS 沙盒机制及文件操作

沙盒机制简介  iOS应用程序只能在为该程序创建的文件目录下进行文件的读写操作,不可以去其它地方访问,此文件区域被成为沙盒。 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录,沙...

iOS 沙盒(sandbox)机制和文件操作

本文参看了 http://www.uml.org.cn/mobiledev/201209211.asp#1 这篇文章中的介绍,尊重原著。 1、IOS沙盒机制 IOS应用程序只能在本应用程序中创建...

IOS沙盒(sandbox)机制和文件操作(二)

转载:http://www.oschina.net/ios/302/ios-file-operations 1、获取程序的Home目录 [cpp] view plain copy ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)