沙盒快速存储及读取

存储:  [[NSUserDefaults standardUserDefaults] setObject:@"abc" forKey:@"1"];

[[NSUserDefaults standardUserDefaults] synchronize];

读取: NSString *str = [[NSUserDefaults standardUserDefaults] objectForKey:@"1"];

//获取一些目录的位置

//1. 获取Document

NSString *document = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject;

NSLog(@"%@", document);

//2.获取cache

NSString *cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject;

NSLog(@"%@", cache);

//3.获取preference

NSString *preference = NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES).lastObject;

NSLog(@"%@",preference);

//4.获取tmp

NSString *tmp = NSTemporaryDirectory();

NSLog(@"%@", tmp);

//5.获取Bundle的路径

NSString *bundle = [NSBundle mainBundle].bundlePath;

NSLog(@"%@", bundle);

//把文件写入到沙盒中

//1. 字符串写入

//1.1 拼接好路径

NSString *stringFilePath = [document stringByAppendingPathComponent:@"string.text"];

NSLog(@"%@", stringFilePath);

//1.2 准备要写入的文字

NSString *str = @"我是要写入的文字";

//1.3 将文字写入到文价中

[str writeToFile:stringFilePath //写入文件的位置

atomically:YES    //安全

encoding:NSUTF8StringEncoding   //编码

error:nil];  //错误

//1.4 读取文件中的内容

NSString *newStr = [NSString stringWithContentsOfFile:stringFilePath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@", newStr);

//2.数组

NSString *arrayFilePath = [cache stringByAppendingPathComponent:@"array.text"];

NSArray *arr = @[@"gou onr", @"大煞风景", @"dhfjsk"];

[arr writeToFile:arrayFilePath atomically:YES];

NSArray *newAarry = [NSArray arrayWithContentsOfFile:arrayFilePath];

NSLog(@"%@", newAarry);

//3. 字典

NSString *dictFilePath = [cache stringByAppendingPathComponent:@"dict.text"];

NSDictionary *dict = @{

@"name":@"gold one",

@"age" :@"18",

@"gender":@"女"

};

[dict writeToFile:dictFilePath atomically:YES];

NSDictionary *newDict = [NSDictionary dictionaryWithContentsOfFile:dictFilePath];

NSLog(@"%@", newDict);

//4.图片

//1.拼接地址

NSString *imageFilePath = [document stringByAppendingPathComponent:@"guoguo.png"];

//2.获取数据

UIImage *image = [UIImage imageNamed:@"guoguo"];

//3.写入

//3.1先将image转为NSData数据类型

NSData *imageData = UIImagePNGRepresentation(image);    //将图片转为data

//3.2写入data

[imageData writeToFile:imageFilePath atomically:YES];

//4.读取

UIImage *newImage = [UIImage imageWithContentsOfFile:imageFilePath];

NSLog(@"%@", newImage);

// NSFileManager

//单例设计模式:单例类创建出来的对象,只会有一个,不管创建多少次,都是同一个对象

NSFileManager *fileManager = [NSFileManager defaultManager];

//1.创建文件夹,拼接新文件夹的路径

NSString *filePath = [tmp stringByAppendingString:@"test2/test3/test4"];

//2.创建

[fileManager createDirectoryAtPath:filePath //

withIntermediateDirectories:YES      //决定是是否可以创建包含关系的文件夹

attributes:nil      //

error:nil];    //

NSLog(@"%@", filePath);

//3.删除(这样只会删除最里层的一个文件夹)

[fileManager removeItemAtPath:filePath error:nil];

//4.判断文件是否存在

if ([fileManager fileExistsAtPath:stringFilePath]) {

NSLog(@"文件存在");

} else {

NSLog(@"no");

}

//5.删除全部文件

NSString *filePath2 = [tmp stringByAppendingString:@"test2"];

[fileManager removeItemAtPath:filePath2 error:nil];

//6..获取某个文件夹下的所有文件

NSArray *fileArray = [fileManager contentsOfDirectoryAtPath:document error:nil];

NSLog(@"fileArray = %@", fileArray);

ios沙盒机制---基本数据类型的存取和文件的基本操作的更多相关文章

  1. iOS沙盒机制介绍,Block 的介绍

    一.iOS沙盒机制介绍 (转载) 1)概念:每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒,但在ios8中已经开放访 ...

  2. iOS 阶段学习第25天笔记(iOS沙盒机制介绍)

    iOS学习(OC语言)知识点整理 一.iOS沙盒机制介绍 1)概念: 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒 ...

  3. QF——iOS沙盒机制

    iOS沙盒机制: 什么是沙盒机制?  点击进入  点击进入 沙盒机制(SandBox)是一种安全体系,它规定了APP的所有文件数据都必须存储在这片区域.所有非代码文件的数据都保存在这片区域. 沙盒里有 ...

  4. IOS 沙盒机制 浅析

    IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件 ...

  5. iOS - 沙盒机制

    iOS应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒.所有的非代码文件都要保存在此,例如图像,图标,声音,属性列表(plist文件),文本文件等.沙盒机制作为一 ...

  6. iOS沙盒机制介绍

    一.沙盒机制 沙盒的概念:沙盒是每一个iOS应用程序都会自动创建的一个文件系统目录(文件夹),而且沙盒还具有独立.封闭.安全的特点. 沙盒机制 iOS中的沙盒不仅仅是一个文件目录,TA其实更是一种安全 ...

  7. IOS 沙盒机制 && 关于document\library\tmp的灵活使用

    默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.因为应用的沙盒机制,应用只能在几个目录下读写文件Documents:苹果建议将程序中建立的或在程序中浏览到的文件数 ...

  8. IOS沙盒机制

    一,ios应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒 1,每个应用程序都有自己的存储空间 2,应用程序不能翻过自己的围墙去访问别的存储空间的内容. 3,应用 ...

  9. iOS沙盒机制的基本操作总结

    每个ios程序都有自己的沙盒(sandBox),ios8之后提供沙盒部分开放 我们可以访问沙盒下的文件夹 文件夹包括: 1,documents:保存应用运行时生成的需要持久化的数据 2.tem:保存临 ...

随机推荐

  1. Vue成员获取

    0828自我总结 Vue成员获取 一.vue中data的获取 1.获取data里面的某个变量 $data.msg也可以简写成msg 2.获取data全部内容 $data 二.获取vue中vue挂钩的对 ...

  2. 浅谈celery的坑

    celery celery的使用以及在Django中的配置,不详细介绍,主要记录在Django中使用的坑点. 坑点 时区问题 celery默认的时区是世界标准时间,比东八区慢了8个小时,如果发布定时任 ...

  3. lua行为树设计与实现

    项目需要,之前行为树用的是behaviorDesigner,要改成纯lua的 我先做了一版用递归实现,代码可读性高但是中断机制实现起来比较复杂,而且创建自定义action重写方法时需要调用父类的方法, ...

  4. QT文件读写操作笔记

    补一下这部分的笔记 简单的东西也记一下 操作系统一般都会提供一些列的标准对话框,如文件选择.字体选择.颜色选择等,这些标准对话框为应用层序提供了一致的观感.Qt对这些标准对话框都定义了相关的类,如:Q ...

  5. 经验分享:程序员如何快速定位问题(BUG)

    让我掉下眼泪的 不止内存泄漏 让我夜夜不眠的 不止你的需求 明天还要改多久 你攥着我的手 让我感到为难的 是善变的需求 发布总是在半夜 回滚是永远的愁 错误(Bug)随时的暴漏 困扰着我心头 作为程序 ...

  6. Flink 从 0 到 1 学习 —— 如何自定义 Data Source ?

    前言 在 <从0到1学习Flink>-- Data Source 介绍 文章中,我给大家介绍了 Flink Data Source 以及简短的介绍了一下自定义 Data Source,这篇 ...

  7. Python编程系列---使用装饰器传参+字典实现动态路由

    # 实现一个空路由表,利用装饰器将url和功能函数的对应关系自动存到这个字典中 router_dict = {} # 定义一个装饰器 # 再给一层函数定义,用来传入一个参数,这个参数就是访问的页面地址 ...

  8. python编程系列---进程池的优越性体验

    1.通过multiprocessing.Process()类创建子进程 import multiprocessing, time, os, random def work(index): " ...

  9. springboot学习(二十二)_ 使用@Constraint注解自定义验证注解

    最近项目在使用如@NotNull @Max 等配合@vaild 注解进行验证传过来的参数校验,然后通过统一异常处理,直接返回给前端,不用在业务代码中对这些参数进行校验.但是官方提供的并不能全部满足项目 ...

  10. C# WPF基础巩固

    时间如流水,只能流去不流回. 学历代表你的过去,能力代表你的现在,学习能力代表你的将来. 学无止境,精益求精. 一.写作目的 做C# WPF开发,无论是工作中即将使用,还是只应付跳槽面试,开发基础是非 ...