沙盒和简单的对象的写入和读取(预习)

沙盒:每一个iOS应用程序都会为自己创建一个文件系统目录,这个独立,封闭,安全的空间,叫做沙盒

沙盒是一个安全体系

特点:1.每个应用程序的活动范围都限定在自己的沙盒里

2.不能随意跨越自己的沙盒去访问别的应用程序沙盒中的内容(iOS8 已经部分开放)

3.应用程序向外请求或接受数据都需要经过权限认证

应用程序的沙盒目录会有三个文件夹 Documents ,Library(下面有Caches和Preferences目录),tmp

Document:保存应用运行时生成的需要持久化的数据 iTunes会自动备份该目录

// 获取Document 目录

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSLog(@"%@",path);

NSString *documentDirectory = [path objectAtIndex:0];

NSLog(@"%@", documentDirectory);

//获取tmp目录:保存应用运行时所需要的临时数据,使用完后再降相应的文件从该目录删除,没有运行时,系统也有可能清除该目录下的文件,iTunes不会同步该目录

NSString *tmpDir = NSTemporaryDirectory();

NSLog(@"%@", tmpDir);

Library:存储程序的默认设置和其他状态信息

//获取library目录

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *pathLib = [paths objectAtIndex:0 ];

NSLog(@"%@", pathLib);

//获取library/Caches目录:存放缓存文件

NSArray *path1 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

NSString *pathCaches = [path1 objectAtIndex:0];

NSLog(@"%@", pathCaches);

//获取library/Preferences目录:保存应用的所有偏好设置

NSArray *path2 = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *pathPre = [[path2 objectAtIndex:0] stringByAppendingPathComponent:@"Preferences"];

NSLog(@"%@", pathPre);

//获取应用程序的包路径

NSString *imagePath = [NSBundle mainBundle].resourcePath;

NSLog(@"%@", imagePath);

//字符串对象写入文件

//构造字符串对象

NSString *strPath = [documentDirectory stringByAppendingString:@"/text.txt"];

//构造字符串对象

NSString *foo_str = @"this is a test";

//字符串储存

[foo_str writeToFile:strPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

//从文件中读取字符串对象

NSString *str = [NSString stringWithContentsOfFile:strPath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@", str);

//数组对象写入文件

//构造数组对象的储存路径

NSString *arrayPath = [documentDirectory stringByAppendingString:@"/array.plist"];

// 构造数组对象

NSArray *foo_array = @[@"hjp", @"hly", @"lcl"];

//储存数组对象

[foo_array writeToFile:arrayPath atomically:YES];

NSArray *reultArray = [NSArray arrayWithContentsOfFile:arrayPath];

NSLog(@"%@", reultArray);

时间: 2024-10-06 13:53:23

沙盒和简单的对象的写入和读取(预习)的相关文章

JavaIO流——简单对文件的写入及读取(三)

已经讲了写入和读取了,那么想要把一个文件的内容复制到另一个文件呢 不说太多,直接见代码 public static void copyFile(String srcFilename, String destFilename) throws IOException { FileReader fReader = new FileReader(srcFilename); FileWriter fWriter = new FileWriter(destFilename); char[] buffer =

沙盒本地数据化

model : 1 .怎么来的  2: 放在哪 3: 怎么用是一个好的方式 数据本地化 : 1: 什么事沙河,沙河都有哪些文件夹,作用是什么. 2: 什么事数据本地化,什么时候使用 3: 如何把一个数组,字典,字符串,NSData放入本地 4: 如何把一个Person对象存入本地 NSFileManger  NSFileHandle(了解就行) ;                                            沙盒机制 --------------沙盒 沙盒 : 每个iO

IOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档

1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)模拟器应用沙盒的根路径在: (apple是用户名, 8.0是模拟器版本)/Users/apple/Libra

快速生成沙盒目录的路径,多图片下载的原理(SDWebImage框架的简单介绍)

一.快速生成沙盒目录的路径 这个类主要是为了方便你快速拿到沙盒目录里文件夹的路径 给NSString写个分类 NSString+CHG.h #import <Foundation/Foundation.h> @interface NSString (CHG) // 用于生成文件在caches目录中的路径 - (instancetype)cacheDir; // 用于生成文件在document目录中的路径 - (instancetype)docDir; // 用于生成文件在tmp目录中的路径 -

iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)

AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /** 沙盒中文件夹: 1.Documents : 存储长久保存的数据 2.library: Caches:存放的缓存,比如:视频,音频,图片,小说等等 Perferences:存储偏好设置,比如:应用程序是否是第一次启动 保存用户名和密码. 3.t

iOS获取沙盒路径并写入文件

.h文件中 //你需要的数据集合形式@property(nonatomic,strong)NSMutableArray *groupArray;//数组@property(nonatomic,strong)NSMutableDictionary *allDict;//字典 //判断沙盒里面是否有需要的对象+(ShareDataHandleModel*)shareDataHandleModel; //获取沙盒文件中document路径+(NSString*)documentPath; //通过文件

将日志非覆盖式的写入沙盒mylog.log文件中

//将日志写入沙盒mylog.log文件中 -(void)writeLogMessageToLocationFile:(NSString *)logMessagesString isCover:(BOOL)isCover{ // NSDocumentDirectory 要查找的文件 // NSUserDomainMask 代表从用户文件夹下找 // 在iOS中,只有一个目录跟传入的参数匹配,所以这个集合里面只有一个元素 NSArray *paths = NSSearchPathForDirect

iOS沙盒简单介绍

先简单介绍一下什么是沙盒:你可以简单理解成为一个目录,这个目录的改动不会对操作系统造成任何损失.(这里也有一点点介绍) 看看苹果的沙盒目录: 再附一张苹果官方的图 一个iOS app操作都是在自己的沙盒中进行的. 首先: Deveices,里面是各种的模拟器设备. 然后随便找一个模拟器设备.里面的data是里面的数据.然后Container里面Data中有一个Application就是该设备的安装软件. 我们可以看到里面有好多个(就算我们Reset Content and Settings,也会

图片缓存到沙盒(自定义的方法,适合已经取得UIImage对象时候使用)

首先是一个MD5加密的类,将图片的绝对或相对路径用MD5加密,因为路径中有很多"/",直接存储会有问题 首先要导入头文件 #import <CommonCrypto/CommonCrypto.h> 然后是封装的MD5加密的方法 + (NSString *)md5:(NSString *)str { const char *cStr = [str UTF8String]; unsigned char result[16]; CC_MD5(cStr, (unsigned int