zoukankan      html  css  js  c++  java
  • NSFileManager的使用方法---iOS上的归档.

    在iOS上的归档和在Mac上的归档有些不一样, 在Mac上的归档你可以把文件放在任意的一个文件夹里面, 但是在iOS上, 你所写的文件就只能放在三个文件夹里, 分别是Documents, Library, tmp三个文件, 这里需要注意一下, librarytmp文件会在软件升级, 系统升级或者系统空间不足时会自动清除里面的文件, 只有在Documents文件才可以永久保存, 直到你把软件删除为止.

    这里涉及的方法:

    NSHomeDirectory:这个方法的意思就是获取软件的主目录.

    stringByAooendingPathComponent:这个方法的意思就是在目录后添加一个文件.

    下面我们来看看例子:

    #import "ViewController.h"
    #define PZ NSLog(@"----我是一条华丽的分割线----");
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        //获取软件的主目录并且在Documents目录下添加test.txt文件.
        NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.txt"];
    
        //创建文件的路径为path.
        [[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
        NSString *str = @"Hello, world!";
    
        //2.只写的方式打开文件, 并且把文件的写入路径赋给了writeHanle.
        NSFileHandle *writeHanle = [NSFileHandle fileHandleForWritingAtPath:path];
    
        //把str里的字符串以UTF8编码存入data, 在这里就完成了归档.
        NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    
        //解档: 把归档好的二进制代码以UTF8编码格式转换好赋给了字符串对象str2.
        NSString *str2 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", str2);
    
        //打开文件后要记得关闭, 就和内存管理一样.
        [writeHandle closeFile];
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end

    输出的结果:

    2014-10-19 17:31:57.039 FileHandleDemo[12364:672084] Hello, world!
  • 相关阅读:
    oracle用户和权限
    oracle中的索引
    oracle中的序列
    oracle中的视图
    oracle PL/SQL块
    oracle创建表案列
    半导体随机存储器
    IEEE754标准
    定点数的移位操作
    真值,原码,反码以及补码和移码总结
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4035152.html
Copyright © 2011-2022 走看看