zoukankan      html  css  js  c++  java
  • 文件归档

    1.归档就是将我们平时使用的文件,变量以一定的格式写入文件中进行存储,等到需要的时候读出来就能还原成源对象的格式

    2.归档操作

       2.1.在import下面定义存放文件的路径:#define PATH @"/Users/xxxxx/Downloads/dir/PigOnHole.txt";

       2.2.将字典保存到文件中

    // 将字典保存到文件中
    NSDictionary *dict = [[[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease];
    
    // atomically表示是否原子操作
    // 读取文件的内容,生成一个字典
    [dict writeToFile:PATH atomically:YES];
    NSLog(@"%@",dict);
    

     2.3.将数组保存到文件中

    NSDictionary *array = [[[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease];
    [array writeToFile:PATH atomically:YES];
    NSLog(@"%@",array);
    

     2.4.同时将数组和字典归档到一个文件中去,需要使用NSKeyedArchiver

    NSDictionary *dict1 = [[[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease];
    NSArray *array1 = [[[NSArray alloc] initWithObjects:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease];
    NSMutableData *data = [[NSMutableData alloc] init];
    NSKeyedArchiver * archiver = [[[NSKeyedArchiver alloc] initForWritingWithMutableData:data] autorelease];
    [archiver encodeObject:array1 forKey:@"array"];
    [archiver encodeObject:dict1 forKey:@"dict"];
    [archiver finishEncoding];
    [data writeToFile:PATH atomically:YES];
    

     2.5.读取已经归档的文件

    NSData *data1 = [[NSData alloc] initWithContentsOfFile:PATH];
    NSKeyedUnarchiver * unArchiver = [[[NSKeyedUnarchiver alloc] initForReadingWithData:data1] autorelease];
    NSArray * array2 = [unArchiver decodeObjectForKey:@"array"];
    NSDictionary * dict2 = [unArchiver decodeObjectForKey:@"dict"];
    NSLog(@"%@",array2);
    NSLog(@"%@",dict2);
    

      

  • 相关阅读:
    vue项目在IE中使用的一些坑(未完待续)
    Vue在IE下显示空白问题
    nginx 解决AJAX 跨域问题。
    node.js+express+jade 国际化
    Angular 2 HTTP Requests with Promise
    Windows x64编译 Qt5.7 Mysql驱动
    mysql [Err] 1215
    VS Code 调试Node.js express网站
    Node.js express 入门示例1
    build qt4.8.5 on centos7 or suse11.1
  • 原文地址:https://www.cnblogs.com/zwhFighting/p/4553655.html
Copyright © 2011-2022 走看看