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. Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)

    NRPE监控插件基础 NRPE总共由两部分组成: (1).check_nrpe插件,运行在监控主机上. (2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机) 整个的监控过程 ...

  2. 基于MVC3下拉列表联动(JQuery)

    上次项目中遇到一个需要多个下拉列表联动的操作,今天有空将实现方式整理以便以后参考. 要达到的效果是,点击一个下拉框,则另一个下拉框的值发生对应变化.如:选择中国,则另个一下拉框里显示中国各个省份. 传 ...

  3. hdu4585 &amp; BestCoder Round #1 项目管理(vector应用)

    主题链接:pid=4858">http://acm.hdu.edu.cn/showproblem.php?pid=4858 项目管理 Time Limit: 2000/1000 MS ...

  4. SpringMVC(转)

    http://www.cnblogs.com/liukemng/p/3725582.html

  5. HDU1194_Beat the Spread!

    Beat the Spread! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. LAMBDA表达式常用 (全)

    这里主要是将数据库中的常用操作用LAMBDA表达式重新表示了下,用法不多,但相对较常用,等有时间了还会扩展,并将查询语句及LINQ到时也一并重新整理下: 1.select语句:books.Select ...

  7. [Cacti] cacti监控mongodb性能实战

    .生成监控图 在界面.选择"Device".选择mongodb服务器连接"3.X2_mongodb".再选择右上角的"Create Graphs fo ...

  8. SICP的一些个人看法

    网上搜书的时候,看到非常多人将这本书神话. 坦率地说,个人认为这本书过于学术化, 没什么实际project价值.一大堆题目也基本是高中数学竞赛题类似,浪费时间. 软件的核心技术是什么? 1>   ...

  9. 瑞丽的SQL-SQL Server的表旋转(行列转换)

    所谓表旋转,就是将表的行转换为列,或是将表的列转换为行,这是从SQL Server 2005開始提供的新技术.因此,如果希望使用此功能,须要将数据库的兼容级别设置为90.表旋转在某些方面也是攻克了表的 ...

  10. testlink于smarty配置和使用

    于testlink于,采用smarty首先配置. 一般在过程化的编程中.创建一个smarty.inc.php的文件来配置Smarty的信息,其它文件引入就可以,目的是为了不改动smarty.class ...