数据持久化的一种方式

/**

*数据持久化的四种方式

*

*1-------属性列表

*

*2-------对象归档

*

*3-------SQLite3

*

*4-------Core Data

*

*下面是数据持久化的第一种方式-----写入文件

*/

/**

*写入文件思路

*

*1-----获取需要写入的文件对象

*

*2-----获取需要写入的文件对象的文件路径

*

*3-----写入文件

*

*4-----读取文件

*/

NSString* string=@"Copyright (c) 2015年 妖精的尾巴. All rights reserved.";

NSString* filePath=@"/Users/Apple/Desktop/string.text";

BOOL success=[string writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

if (success) {

NSLog(@"文件写入成功");

}

NSString* str=[[NSString alloc]initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"文件内容:%@",str);

/**

*NSData写入文件思路

*

*1-----文件路径初始化data对象

*

*2-----utf8编码

*

*3-----写入文件

*

*4-----读取文件

*/

NSData* data=[[NSData alloc]initWithContentsOfFile:filePath];

NSLog(@"data中的数据:%@",data);

[data writeToFile:filePath atomically:YES];

NSLog(@"写入data后的数据:%@",data);

/**

*NSArray 数组写入文件思路

*

*数组、字典写入的文件,称为属性列表文件

*

*1-----获取文件对象

*

*2-----获取写入文件路径

*

*3-----写入文件

*

*4-----读取plist文件(可以遍历数组)

*/

NSArray *array = @[@"妖精的尾巴", @"蓝色妖姬", @"苍穹魅影"];

NSString *filePath2 = @"/Users/Apple/Desktop/array.plist";

[array writeToFile:filePath2 atomically:YES];

NSArray *array2 = [[NSArray alloc] initWithContentsOfFile:filePath2];

for (NSString* key in array2) {

NSLog(@"数组遍历后的value为:%@",key);

}

/**

*NSDictionary 字典写入文件思路

*

*数组、字典写入的文件,称为属性列表文件

*

*1-----获取文件对象

*

*2-----获取写入文件路径

*

*3-----写入文件

*

*4-----读取plist文件(可以遍历数组)

*/

NSDictionary *dic = @{

@"name":@"妖精的尾巴",

@"age":@20,

@"blog":@YES

};

NSString *filePath3 = @"/Users/Apple/Desktop/dictionary.plist";

[dic writeToFile:filePath3 atomically:YES];

NSDictionary *dic2 = [[NSDictionary alloc] initWithContentsOfFile:filePath3];

for (NSString* key in dic2) {

NSArray* array= [dic2 objectForKey:key];

NSLog(@"字典遍历后array=%@",array);

}

时间: 2024-10-10 23:48:33

数据持久化的一种方式的相关文章

QF——iOS中数据持久化的几种方式

数据持久化的几种方式: 一.属性列表文件: .plist文件是种XML文件.数组,字典都可以和它互相转换. 读取plist文件生成数组:plist——>NSArray 把数组写入plist文件:NSArray——>plist 二.NSUserDefaults: 它是单例的.通过[NSUserDefaults standardUserDefaults];提供唯一的实例 NSUserDefaults存储数据,本质上就是属性列表plist文件里.只不过是系统提供的,存储位置固定的,它存储在沙盒的Li

docker容器实现数据持久化的两种方式及其区别

前言 这篇博文是我对docker实现数据持久化几种方式的特征进行一个总结. 在docker中,它的存储文件系统是在dockerhost上原有的xfs或ext4架设了一层文件系统:overlay2(将此行重点标注的原因就是我在面试中被问到过:docker使用的是什么文件系统?),通过docker info命令可以查看出主机上docker相关的信息,包括支持的网络类型.系统版本.内核版本.docker主机的cpu.内存等信息.如下: 在docker中实现数据持久化有两种方式:Bind mount和D

IOS数据持久化的4种方式

9.1 数据持久化概述 9.2 iOS应用程序目录结构 9.3 读写属性列表 9.4 对象归档 9.5 访问SQLite 9.1 数据持久化概述 iOS中可以有四种持久化数据的方式: 属性列表.对象归档.SQLite3和Core Data 9.2 iOS应用程序目录结构 iOS应用程序运行在Mac os模拟器时候,有一下临时目录模拟器3.1.3为例子: /Users/tony/Library/Application Support/iPhone Simulator/3.1.3/Applicati

内存数据持久化的两种常见方法

内存数据持久化的两种常见方法: 1.将内存数据定期dump到磁盘 优点:效率高,操作简便 缺点:会损失部分数据 2.利用类似于mysql的binlog日志的方式,记录更新操作,需要时回放数据 优点:可保证数据完整性 缺点:会损失部分性能,实现稍微复杂点 redis实现了这两种方式

(转)Redis持久化的几种方式

radis持久化的几种方式 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务 器.Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”):也可以把每一次数据变化都写入到一个append only file(aof)里面(

redis 持久化有几种方式?

面试题 redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 面试官心理分析 redis 如果仅仅只是将数据缓存在内存里面,如果 redis 宕机了再重启,内存里的数据就全部都弄丢了啊.你必须得用 redis 的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化. 如果 redis 宕机重启,自动从磁盘上加载之前持久化的一些数据就可以了,也许会丢失少许数据,但是至少不会将所有数据都弄丢. 这个其实一样,针对的都是 redi

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

iOS数据存储的几种方式

iOS的数据存储是iOS应用开发的重要知识点: 关于这方面知识,网上有很多介绍,但对于代码层次的使用方式并未有系统全面介绍.此文章针对iOS稍熟悉的童鞋,需要对CoreData的原理有一定的了解.目前存储方式大概有以下几种: NSKeyedArchiver  适用简单数据加密 NSUserDefaults  适用配置参数 Write  文件操作,同NSKeyedArchiver SQLite3  操作较复杂,不建议使用. CoreData  取代SQLite3,但要遵循NSManagedObje

EDM营销之数据细分的五种方式

我们都知道,EDM营销的终极目的仍然是与目标客户群体实现联接,拉动销售业绩.内容是B2B邮件营销的重中之重,提供能够匹配客户真实需要的有效内容,即实现B2B个性化邮件营销,是B2B邮件营销成功的关键因素.怎样实现B2B领域的个性化邮件营销呢?首先需要对B2B客户进行数据细分.结合多年来在B2B邮件营销领域的诸多成功实战经验,下面来看看 Focussend营销团队在本期为B2B营销者奉上实现B2B个性化邮件营销的五种数据细分方式. 博文配图:关于EDM营销数据细分的五种方式 方式一:按职能细分 B