IOS数据的存储和读取之文件操作

  每一个app 应用程序在设备上包含一段闪存(flash memory),即应用程序的沙盒(sandbox),应用程序能看到自己的沙盒也能看到一些系统拥有的高级别目录但不能对其他应用程序文件读取操作,我们可以在sandbox下创建目录。访问documents目录:

         NSFileManager *fm=[[NSFileManager  default] init ];

         NSURL *docurl=[fm URLForDirectory:NSDocumentDirectoryinDomain:NSUserDomainMask appropriateForURL:nil create:YES error :nil];

我们可以在Documents目录下存放文件,也可以在Application Support 目录下存放,用户可以通过iTunes看见和修改你的应用程序Documents目录,因此一般使用Application Support 目录,创建Application Support 目录:

       NSURL *suppurl=[fm URLForDirectory:NSApplicationSupportDirectoryinDomain:NSUserDomainMask appropriateForURL:nil create:YES error:nil];

     NSString *stringurl=[suppurl path];     //文件路径的引用

我们在Documents目录下创建新目录文件夹MyFolder:

    NSString *docs=[NSSearchPathForDirectoriesinDomains ( NSDocumentDirectory, NSUserDomainMask, YES  ) lastObject ];

 NSString *myfolder=[docs stringByAppendingPathComponent:@"MyFolder"]; 

检查文件夹是否创建:

if( ! [ fm fileExistsAtPath:myfolder] ){

[fm createDirectoryAtPath:myfolder withIntermediateDirectories:NO attributes:nil error:&err]; //创建文件夹

}

为了获得一个目录下存在子文件夹信息,可以获得目录内容( 子目录数组):

NSArray *arr=[ fm contentsOfDirectoryAtPath:docs error:nil];

枚举子目录:

NSDirectoryEnumerator *dir=[ fm enumeratorAtPath:docs];

for( NSString *file in dir){

NSLog(@"%@", file); / /打印各个子目录

}


访问文件:

1,使用绝对目录:将文件名放在原始目录路径后面。

2,将原始目录作为当前目录:

NSDirectoryEnumerator *dir=[ fm enumeratorAtPath:docs];

[ fm changeCurrentDirectoryPath:docs];

for( NSString *file in dir){

if( [[ file pathExtension]  isEqualToString:@" txt"]){

  //文件后缀名为txt的当前文件;

}

}



 

      


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值