iOS数据持久化(一)-write写入

2016-08-11  本文已影响179人  上善若水jf

write写入将数据永久保存到磁盘中,它是一种轻量级的数据保存方式,常用保存数据类型有:NSString、NSArray、NSDictionary、NSData

1、字符串写入

NSString *name = @"字符串写入文件夹";

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];

documentPath = [documentPath stringByAppendingString:@"/name.txt"];

//将字符串写入文件夹

[name writeToFile:documentPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

//读取数据

NSString *newName = nil;

//判断该文件夹是否存在

if ([[NSFileManager defaultManager]fileExistsAtPath:documentPath]) {

newName = [NSString stringWithContentsOfFile:documentPath encoding:NSUTF8StringEncoding error:nil];

}

2、数组写入

NSArray *array = @[@"北京",@"天津",@"河北"];

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];

documentPath = [documentPath stringByAppendingString:@"/array.plist"];

//将数组写入文件夹

[array writeToFile:documentPath atomically:YES];

//读取数组

NSArray *newArray = [NSArray array];

//判断该文件夹是否存在

if ([[NSFileManager defaultManager]fileExistsAtPath:documentPath]) {

newArray = [NSArray arrayWithContentsOfFile:documentPath];

}

3、字典写入

NSDictionary *dict = @{@"name":@"张三",@"phone":@"12345678901",@"job":@"工程师"};

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];

documentPath = [documentPath stringByAppendingString:@"/dict.plist"];

//将字典写入文件夹

[dict writeToFile:documentPath atomically:YES];

//读取字典数据

NSDictionary *newDict = [NSDictionary  dictionary];

//判断该文件夹是否存在

if ([[NSFileManager defaultManager]fileExistsAtPath:documentPath]) {

newDict = [NSDictionary dictionaryWithContentsOfFile:documentPath];

}

4、NSData写入

NSString *name = @"data写入文件夹";

NSData *data = [name dataUsingEncoding:NSUTF8StringEncoding];

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];

documentPath = [documentPath stringByAppendingString:@"/data.plist"];

//将NSData写入文件夹

[data writeToFile:documentPath atomically:YES];

//读取NSData数据

NSData *newData = [NSData  data];

//判断该文件夹是否存在

if ([[NSFileManager defaultManager]fileExistsAtPath:documentPath]) {

newData = [NSData dataWithContentsOfFile:documentPath];

}

NSString *string2 = [[NSString alloc]initWithData:newData encoding:NSUTF8StringEncoding];

上一篇 下一篇

猜你喜欢

热点阅读