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

      

  • 相关阅读:
    玩家移动
    人物上线(激活玩家之后)
    map 玩家上线
    无锁的环形队列
    随笔
    std::bind
    如何查找文件中的schema约束
    myeclipse便捷导包方式
    21 求1+2!+3!+...+20!的和
    20 求出这个数列的前 20 项之和
  • 原文地址:https://www.cnblogs.com/zwhFighting/p/4553655.html
Copyright © 2011-2022 走看看