1.什么是一个文件系统?

IOS每个应用程序都有自己的文件系统。并且有一个相应的接入,一般分

~/Documents/

~/tmp/

~/Library/Caches/

~/Library/Preferences/-------键值对,不用关心文件路径。

其路径的获取方式为

<span style="color:#999999;">{
//获取主文件夹
NSString *path=NSHomeDirectory();
NSString *docPath=[path stringByAppendingPathComponent:@"Documents"];
NSLog(@"%@",docPath);
//获取文件文件夹
NSArray *DocumentPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSAllDomainsMask, YES);
// NSLog(@"%@",DocumentPath[0]);
//获取缓存文件夹
NSArray *cachePath=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSAllDomainsMask, YES);
// NSLog(@"%@",cachePath[0]);
//获取暂时文件夹
NSString *temp=NSTemporaryDirectory();
// NSLog(@"%@",temp);
}</span>

Plist文件仅仅能存储NSString NSNumber NSData NSArray NSDictionary的内容,其文件存储为xml格式

NSArray存储到Documents中:

    NSArray *arr=@[@"name",@"age",@"height"];
NSString *path=NSHomeDirectory();
NSString *docPath=[path stringByAppendingPathComponent:@"Documents"];
NSString *filepath=[docPath stringByAppendingPathComponent:@"/aa.plist"];
//把array存储到plist文件里
[arr writeToFile:filepath atomically:YES];
//从文件路径读取为array
NSArray *arr2=[NSArray arrayWithContentsOfFile:filepath];

NSDictionary存储到Cache中:

NSDictionary *dic=@{@"name":@"lean",@"age":@24,@"height":@172 };
NSArray *dicArr=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSAllDomainsMask, YES);
NSLog(@"%@",dicArr[0]);
NSString *dirPath=dicArr[0];
NSString *filePath=[dirPath stringByAppendingPathComponent:@"dic.plist"];
//把Dictionary存储到plist文件里
[dic writeToFile:filePath atomically:YES];
//从文件路径读取为Dictionary
NSDictionary *dic2=[NSDictionary dictionaryWithContentsOfFile:filePath ];

NSData读取图片:

//读写图片吧能直接存储 仅仅能通过NSData来存储。

//下面样例为从UIImageView中存储文件并在还有一个控件中读取显示
NSArray *arr=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSAllDomainsMask, YES);
NSLog(@"%@",arr[0]);
NSString *cachePath=arr[0];
NSString *filePath=[cachePath stringByAppendingPathComponent:@"image.plist"];
UIImage *image=[self.a image];
NSData *data=UIImageJPEGRepresentation(image,1);
[data writeToFile:filePath atomically:YES]; NSData *data2=[NSData dataWithContentsOfFile:filePath];
UIImage *image2=[UIImage imageWithData:data2 ];
self.b.image=image2;

版权声明:本文博主原创文章,博客,未经同意不得转载。

IOS-Plist文件存储(1)的更多相关文章

  1. iOS Plist 文件的 增 删 改

    一:Plist 文件的创建 Plist 文件作为我们IOS开发的一种数据存储文件,还是经常会用到的.在看<X-code江湖录>的时候,看到了这一点.自己就写了一下,把写的东西分享出来!先看 ...

  2. iOS plist文件的读写

    原帖:http://blog.csdn.net/totogo2010/article/details/7634185 在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名 ...

  3. iOS,plist文件、pct文件,工程设置

    1.使用pch文件 2.在info.plist中配置URL Schemes 3.plist配置拍照界面,复制,粘贴等菜单的显示语言 显示中文 4.使用非ARC库/ARC库 5.链接选项-Objc &a ...

  4. IOS plist文件

    转自:http://www.cnblogs.com/geraldzhang/archive/2011/08/24/2152121.html 在Mac OS X 的Cocoa ,NeXTSTEP 和GN ...

  5. iOS Plist文件,增删改查

    今天早上,9点开始弄Plist,然后一直写,一直写(中午取出40分钟吃饭时间),写到1点,写完了,交给头,头说,不是这个意思.我是每个用户创建了一个文件夹,在这个用户的文件夹里面,分别根据应用创建了文 ...

  6. Plist文件存储

    一.Plilst存储简介 (1)只能储存NSData.NSNumber.NSDictionary.NSString.NSDate.NSArray.BOOL等数据类型,如果需要存储其他NSObject类 ...

  7. ios大文件存储

    I am using Erica Sadun's method of Asynchronous Downloads (link here for the project file: download) ...

  8. 转载 -- iOS数据持久化存储

    作者:@翁呀伟呀 授权本站转载 概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方 ...

  9. iOS学习——iOS常用的存储方式

    不管是在iOS还是Android开发过程中,我们都经常性地需要存储一些状态和数据,比如用户对于App的相关设置.需要在本地缓存的数据等等.根据要存储的的数据的大小.存储性质以及存储类型,在iOS和An ...

  10. iOS开发——数据持久化&本地数据的存储(使用NSCoder将对象保存到.plist文件)

    本地数据的存储(使用NSCoder将对象保存到.plist文件)   下面通过一个例子将联系人数据保存到沙盒的“documents”目录中.(联系人是一个数组集合,内部为自定义对象).   功能如下: ...

随机推荐

  1. 远程centos改动yum源

    yum -y install unzip发现运行不了,说是找不到unzip的包,搜索发现时由于yum源的问题,那我就改动yum吧, 在网上找到的方法是这么说的: 1. cd /etc/yum.repo ...

  2. PCB板蛇形走线有什么作用

    PCB板蛇形走线有什么作用  PCB上的不论什么一条走线在通过高频信号的情况下都会对该信号造成时延时,蛇形走线的主要作用是补偿"同一组相关"信号线中延时较小的部分,这些部分一般是没 ...

  3. CentOS 6.5安全加固及性能优化

    (文章来自:http://www.cnblogs.com/seasonzone/p/3526296.html) 我们可以通过调整系统参数来提高系统内存.CPU.内核资源的占用,通过禁用不必要的服务.端 ...

  4. CentOS7 编译安装LNMP

    (文章来自:http://www.cnblogs.com/i-it/p/3841840.html,请各位到这个网址去看原文的) LNMP(Linux-Nginx-Mysql-PHP),本文在CentO ...

  5. 【转】C# String.Format数字格式化输出各种转换{0:N2} {0:D2} {0:C2}...

    ; //格式为sring输出 // Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); // Label2.Text = & ...

  6. cocos2d-x 3.2 它 三消游戏——万圣节大作战

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  7. 上传App时遇IDFA错误问题

    今天上传App时遇到下图1的情况,很纳闷,又是苹果新规. 通常是第三方的库引起啦,马上想到百度统计了,打开SDK下载页面看看简单介绍,里面有讲到这个问题了. 图2就是这次改动的原因. 更新SDK,之前 ...

  8. HDU ACM 2845 Beans-&gt;动态规划

    意甲冠军: 1. 对于每一行是,对不相邻的同一时间数取: 2.它是相同的列,相邻行不能同时服用: 3.因此,我们可以得到状态方程:dp[i]=dp[i-1]>(dp[i-2]+a[i])?dp[ ...

  9. Access之C#连接Access

    原文:Access之C#连接Access 如果是个人用的小程序的话.一般都推荐用Sqlite和Access 使用SQlite数据库需要安装SQLite驱动,详情:SQLite之C#连接SQLite 同 ...

  10. 重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider

    原文:重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider [源码下载] 重新想象 Wind ...