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);
    

      

  • 相关阅读:
    npm 升级所有依赖包
    React中使用 ref 和 findDomNode
    流程控制语句
    Linux 各大目录详解 及 目录颜色详解
    python语言初识(红桃三)
    Linux 虚拟机安装及网络配置
    linux系统介绍
    计算机的五大部件
    Vue生命周期
    Vue实现模糊搜索
  • 原文地址:https://www.cnblogs.com/zwhFighting/p/4553655.html
Copyright © 2011-2022 走看看