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文件存储

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