ios沙盒机制---基本数据类型的存取和文件的基本操作
沙盒快速存储及读取
存储: [[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沙盒机制---基本数据类型的存取和文件的基本操作的更多相关文章
- iOS沙盒机制介绍,Block 的介绍
一.iOS沙盒机制介绍 (转载) 1)概念:每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒,但在ios8中已经开放访 ...
- iOS 阶段学习第25天笔记(iOS沙盒机制介绍)
iOS学习(OC语言)知识点整理 一.iOS沙盒机制介绍 1)概念: 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒 ...
- QF——iOS沙盒机制
iOS沙盒机制: 什么是沙盒机制? 点击进入 点击进入 沙盒机制(SandBox)是一种安全体系,它规定了APP的所有文件数据都必须存储在这片区域.所有非代码文件的数据都保存在这片区域. 沙盒里有 ...
- IOS 沙盒机制 浅析
IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件 ...
- iOS - 沙盒机制
iOS应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒.所有的非代码文件都要保存在此,例如图像,图标,声音,属性列表(plist文件),文本文件等.沙盒机制作为一 ...
- iOS沙盒机制介绍
一.沙盒机制 沙盒的概念:沙盒是每一个iOS应用程序都会自动创建的一个文件系统目录(文件夹),而且沙盒还具有独立.封闭.安全的特点. 沙盒机制 iOS中的沙盒不仅仅是一个文件目录,TA其实更是一种安全 ...
- IOS 沙盒机制 && 关于document\library\tmp的灵活使用
默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.因为应用的沙盒机制,应用只能在几个目录下读写文件Documents:苹果建议将程序中建立的或在程序中浏览到的文件数 ...
- IOS沙盒机制
一,ios应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒 1,每个应用程序都有自己的存储空间 2,应用程序不能翻过自己的围墙去访问别的存储空间的内容. 3,应用 ...
- iOS沙盒机制的基本操作总结
每个ios程序都有自己的沙盒(sandBox),ios8之后提供沙盒部分开放 我们可以访问沙盒下的文件夹 文件夹包括: 1,documents:保存应用运行时生成的需要持久化的数据 2.tem:保存临 ...
随机推荐
- Unreal Engine 4 系列教程 Part 2:蓝图教程
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- Windows渗透测试中wmi的利用
0x01 关于WMI WMI可以描述为一组管理Windows系统的方法和功能.我们可以把它当作API来与Windows系统进行相互交流.WMI在渗透测试中的价值在于它不需要下载和安装, 因为WMI是W ...
- 数据挖掘:python数据清洗cvs里面带中文字符
数据清洗,使用python数据清洗cvs里面带中文字符,意图是用字典对应中文字符,即key值是中文字符,value值是index,自增即可:利用字典数据结构没有重复key值的特性,把中文字符映射到了数 ...
- phpstorm 新加入项目的文件--全局搜索不到 ctrl + shift + R
通过文件名查找文件 ,能搜到其他的现有文件,只是新加入的文件,无法出现在搜索到的结果中 . 总不可能在搜索的关键词一直拼写错误吧 , 那能想到的只有缓存出问题了. 新加入的文件,新加入的文件.... ...
- CSS Grid 网格布局教程
一.概述 网格布局(Grid)是最强大的 CSS 布局方案. 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局.以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了. 上 ...
- Flink整合oozie shell Action 提交任务 带kerberos认证
最近这段时间一直在忙新集群迁移,上了最新的cdh6.3.0 于是Flink 提交遇到了许多的问题 还好有cloudera License 有了原厂的帮助和社区的伙伴,问题解决起来快了不少,手动滑稽 集 ...
- opencv实践::直线检测
问题描述 寻找英语试卷填空题的下划线,这个对后期的切图与自动 识别都比较重要. 解决思路 方法: 通过图像形态学操作来寻找直线,霍夫获取位置信息与显示. #include <opencv2/op ...
- redis应用场景总结redis平时我们用到的地方蛮多的,下面就了解的应用场景做个总结:
redis常见应用场景 1.热点数据的缓存 由于redis访问速度块.支持的数据类型比较丰富,所以redis很适合用来存储热点数据,另外结合expire,我们可以设置过期时间然后再进行缓存更新操作,这 ...
- docker1-centos上安装docker
docker镜像(image)相当于面向对象的类 docker容器(container)相当于面向对象的对象 1.安装环境要求 目前,CentOS 仅发行版本中的内核支持 Docker. Docker ...
- linux "No space left on device" 磁盘空间解决办法
某年某月某日某时,某人在工作中设置crontab定时任务规则保存时,提示“No space left on device”,此时用df -h检查磁盘,发现还有剩余空间.请问是什么原因及如何排查?什么会 ...