zoukankan      html  css  js  c++  java
  • 写入本地

    这是一种简单的本地储存的方式,可以将简单的信息写入到本地.实现本地储存

    首先我们先来了解下iOS的沙盒的情况

    找到Documents:在做iTunes同步的时候,会把这个文件夹进行同步;这个文件夹主要存放一些比较重要的存档信息(比如游戏的存档),并且document中的内容不能过大,否则在应用审核的时候会被拒绝

    NSString *documenrsParh = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

        NSLog(@"%@", documenrsParh);

        //library:存放资源文件(视频,图片等)

        NSString *libraryParh = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];

        NSLog(@"%@", libraryParh);

        //Caches:Library的子文件夹,存放缓存数据(例如图片的缓存)

        NSString *cachesParh = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];

    //tmp:存放临时文件(例如zip压缩包,解压过后,删掉)

        NSLog(@"%@", NSTemporaryDirectory());

    这里只是简单的说一下,不知道这样的储存会不会对上架带来困扰

    1,文件读写(支持NSString, NSArray NSDictionary, NSData)

         //写入的api都是以"writeToFile"开头

         //读取的api都包含"contentOfFile"

         //注:NSArray和NSDictionary中存的数据也必须是这4种类型

        //创建文件内容

        NSString *string = [NSString stringWithFormat:@"新年快乐!"];

        //创建文件路径

        NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

        NSString *filePath = [docPath stringByAppendingPathComponent:@"test.txt"];

        //写入到指定的文件路径

        //注:如果发现没有这个文件夹,就自动创建

        //每次修改文件内容,都是一个覆盖过程

        NSError *errror = nil;

        BOOL result = [string writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&errror];

        if (result) {

            NSLog(@"写入成功");

        } else {

            NSLog(@"%@", errror);

        }

    读取文件的操作

    //创建路径

        NSString *string1 = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

        NSString *flPath = [string1 stringByAppendingPathComponent:@"test.txt"];

        NSError *error1 = nil;

        NSString *string2 = [NSString stringWithContentsOfFile:flPath encoding:NSUTF8StringEncoding error:&error1];

        if (error1) {

            NSLog(@"%@", error1);

        } else {

            NSLog(@"%@", string2);

        }

    当然这里如果是 数组,字典 在写入和读取的时候 会有一点不同,但是不大

  • 相关阅读:
    C#SortedList排序列表怎么样逆序输出
    使 SortList 实现重复键排序
    【转】delphi程序只允许运行一个实例的三种方法:
    Delphi中控制Excel(转载)
    spring和hibernate的集成
    使用Jedis操作redis
    使用java发送邮件
    error at ::0 can't find referenced pointcut...解决方法
    log4j简单的使用
    spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)
  • 原文地址:https://www.cnblogs.com/nsjelly/p/4691791.html
Copyright © 2011-2022 走看看