前言
各位同学大家好 ,有段时间没有给的大家更新文章了,具体多久 我也记不清了哈, 最近在学下iOS的一些基础 知识,NSFileManager 存储文件,查询文件, 删除文件 等 所以就记录分享给各位同学 那么废话不多说
我们正式开始
准备工作
安装xcode 这个大家可以自己去appstore 搜索下载安装即可
具体实现
- 实例化 NSFileManager
NSArray * pathArray=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath=[pathArray firstObject];
NSFileManager * fileManager= [NSFileManager defaultManager];
- 创建文件夹
// 创建文件夹
NSString * dataPath=[cachePath stringByAppendingPathComponent:@"GTData"];
NSError * creatError;
[fileManager createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:&creatError];
image.png
- 创建文件 然后设置utf8编码 然后存储文件在模拟器沙箱环境
//创建文件
NSString * listdataPath= [dataPath stringByAppendingPathComponent:@"list"];
NSData * listData=[@"abcd" dataUsingEncoding:NSUTF8StringEncoding]; //设置utf 8编码格式
[fileManager createFileAtPath:listdataPath contents:listData attributes:nil];
- 查询文件
BOOL fileList= [fileManager fileExistsAtPath:listdataPath];
- 删除文件
//删除文件
if(fileList){
[fileManager removeItemAtPath:listdataPath error:nil];
NSLog(@"删除成功");
}
- 增加数据
// 增加数据
NSFileHandle * fileHander =[NSFileHandle fileHandleForUpdatingAtPath:listdataPath];
[fileHander seekToEndOfFile];
[fileHander writeData:[@"egf" dataUsingEncoding:NSUTF8StringEncoding]];
//刷新
[fileHander synchronizeFile];
//关闭
[fileHander closeFile];
完整代码实现
-(void)_getSandBoxPath{
// 文件夹存储数据
NSLog(@"调用存储数据方法");
NSArray * pathArray=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath=[pathArray firstObject];
NSFileManager * fileManager= [NSFileManager defaultManager];
// 创建文件夹
NSString * dataPath=[cachePath stringByAppendingPathComponent:@"GTData"];
NSError * creatError;
[fileManager createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:&creatError];
//创建文件
NSString * listdataPath= [dataPath stringByAppendingPathComponent:@"list"];
NSData * listData=[@"abcd" dataUsingEncoding:NSUTF8StringEncoding]; //设置utf 8编码格式
[fileManager createFileAtPath:listdataPath contents:listData attributes:nil];
NSLog(@"存储数据成功 ");
//查询文件
BOOL fileList= [fileManager fileExistsAtPath:listdataPath];
NSLog(@"查寻文件成功");
//删除文件
// if(fileList){
// [fileManager removeItemAtPath:listdataPath error:nil];
// NSLog(@"删除成功");
// }
// 增加数据
NSFileHandle * fileHander =[NSFileHandle fileHandleForUpdatingAtPath:listdataPath];
[fileHander seekToEndOfFile];
[fileHander writeData:[@"egf" dataUsingEncoding:NSUTF8StringEncoding]];
//刷新
[fileHander synchronizeFile];
//关闭
[fileHander closeFile];
}
最后总结
iOS 里面提供了 NSFileManager让我们存储数据到沙箱环境中 也是提供了对应的api 供我们使用, 增删改查。
代码实现相对来说也比较简单方便 , 希望能帮助各位同学学习 ,如果文章有错误和纰漏的地方 欢迎大神们指正 最后希望我的文章能帮助到各位解决问题 ,以后我还会贡献更多有用的代码分享给大家。各位同学如果觉得文章还不错 ,麻烦给关注和star,小弟在这里谢过啦
网友评论