iOS文件存储

作者: wuCanFeng | 来源:发表于2016-12-09 16:16 被阅读40次

在h文件中:

//将json数据暂存在沙盒

+(void)writeToFile:(NSDictionary*)dic WithName:(NSString*)fileName;

//读取预存的json数据

+(NSDictionary*)getDataWithFileName:(NSString*)fileName;

//将字符串转为json格式

+ (NSDictionary*)dictionaryWithJsonString:(NSString*)jsonString;

//删除json文件

+(void)removeJsonFile:(NSString*)fileName;

//遍历沙盒下所有文件

+(void)seekAllFile;

在m文件中:

//将json数据暂存在文件里

+(void)writeToFile:(NSDictionary*)dic WithName:(NSString*)fileName{

NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString*path=[pathsobjectAtIndex:0];

NSString*Json_path=[pathstringByAppendingPathComponent:[NSStringstringWithFormat:@"%@.json",fileName]];

NSError*err;

NSData* data=[NSJSONSerializationdataWithJSONObject:dicoptions:NSJSONWritingPrettyPrintederror:&err];

if(err) {

NSLog(@"%@",err);

}

else{

//==写入文件

NSLog(@"%@",[datawriteToFile:Json_pathatomically:YES] ?@"Succeed":@"Failed");

}

}

//读取预存的json数据

+(NSDictionary*)getDataWithFileName:(NSString*)fileName

{

//读取Json

//==Json文件路径

NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString*path=[pathsobjectAtIndex:0];

NSString*Json_path=[pathstringByAppendingPathComponent:[NSStringstringWithFormat:@"%@.json",fileName]];

NSData* data=[[NSDataalloc]initWithContentsOfFile:Json_path];

if(data) {

NSError*err;

NSDictionary* dic=[NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingAllowFragmentserror:&err];

if(err) {

NSLog(@"json解析失败:%@",err.userInfo);

}

else{

NSLog(@"解析成功:%@",dic);

returndic;

}

}

else{

NSLog(@"该文件无数据或不存在:%@",Json_path);

}

returnnil;

}

//将字符串转为json格式

+ (NSDictionary*)dictionaryWithJsonString:(NSString*)jsonString {

if(jsonString ==nil) {

returnnil;

}

NSData*jsonData = [jsonStringdataUsingEncoding:NSUTF8StringEncoding];

NSError*err;

NSDictionary*dic = [NSJSONSerializationJSONObjectWithData:jsonData

options:NSJSONReadingMutableContainers

error:&err];

if(err) {

NSLog(@"json解析失败:%@",err);

returnnil;

}

returndic;

}

//删除json文件

+(void)removeJsonFile:(NSString*)fileName

{

NSFileManager* fileM=[NSFileManagerdefaultManager];

NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString*path=[pathsobjectAtIndex:0];

NSString*Json_path=[pathstringByAppendingPathComponent:[NSStringstringWithFormat:@"%@.json",fileName]];

BOOLblHave=[[NSFileManagerdefaultManager]fileExistsAtPath:Json_path];

if(!blHave) {

NSLog(@"文件不存在:%@",fileName);

}

else{

NSError* err;

BOOLblDele= [fileMremoveItemAtPath:Json_patherror:&err];

if(!blDele) {

NSLog(@"文件删除失败%@",err.userInfo);

}

}

}

//遍历沙盒下所有文件

+(void)seekAllFile{

//得到沙盒文件夹下的所有文件

NSFileManager*fileManager = [NSFileManagerdefaultManager];

NSString*document=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)objectAtIndex:0];

NSArray*fileList;

fileList =[fileManagercontentsOfDirectoryAtPath:documenterror:NULL];

for(NSString*fileinfileList) {

NSLog(@"%@",file);

}

}

相关文章

  • 沙盒机制

    IOS数据存储之文件沙盒存储

  • iOS数据库存储之SQLite3

    资源连接: iOS数据库存储之SQL语句; iOS数据存储之文件沙盒; iOS数据存储之NSCoding; SQL...

  • iOS基础之数据存储

    iOS数据存储 1. 概论 在iOS开发中数据存储的方式可以归纳为两类: 存储文件 和 存储到数据库. 2.文件存...

  • iOS数据存储之NSCoder

    资源连接: iOS数据库存储之SQL语句; iOS数据库存储之SQLite3; iOS数据存储之文件沙盒; iOS...

  • iOS数据库存储之SQL语句

    资源连接: iOS数据库存储之SQLite3; iOS数据存储之文件沙盒; iOS数据存储之NSCoding; S...

  • iOS数据存储

    iOS开发中数据存储有两类:一、存储为文件 如归档、解归档、plist文件存储及偏好设置都是存储为文件二、存储到...

  • iOS 对接系统“fileAPP” -- 文件操作

    1、前言 iOS文件存储机制 每个iOS程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作...

  • iOS文件存储

    在h文件中: //将json数据暂存在沙盒+(void)writeToFile:(NSDictionary*)di...

  • iOS的数据存储之plist,你用对了么

    iOS的存储方式很多,今天我们来看看plist的简单存储与读取 存储和修改plist文件 获取plist文件数据 ...

  • iOS 安全性参考点

    iOS本地数据存储安全 本地存储的方式主要有:Userdefault, 沙盒文件(包括DB文件),Archiev...

网友评论

    本文标题:iOS文件存储

    本文链接:https://www.haomeiwen.com/subject/lraemttx.html