平时写项目,有时需要读取本地数据源,这里纪录一下读取方式。mac下创建文本不能像windows电脑那样直接右键创建,也在这里顺便说下。
mac下创建rtf文件
创建步骤:Spotlight->其他->文本编辑
保存后默认就是rtf类型
mac下创建txt文件
1.在上面创建rtf的基础上快捷键操作shift+command+t或者 "格式->制作纯文本"即可创建好txt的纯文本
2.打开terminal 输入命令"vi xx.txt"->输入内容保存即可
两种方式都可得到纯文本,如下
读取rtf文件
rtf文件不是纯文本,用代码读取时是乱码,所以还是选择用txt文本来读取
读取txt文件
数据源:文件读取代码:
- (void)readFile
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"condition" ofType:@"txt"];
NSString *content = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray *array = [self jsonStringToKeyValues:content];
for (NSDictionary *dict in array) {
NSLog(@"name=%@ sex=%@ phone=%@",[dict objectForKey:@"name"],[dict objectForKey:@"sex"],[dict objectForKey:@"phone"]);
}
}
//json字符串转化成OC键值对
- (id)jsonStringToKeyValues:(NSString *)JSONString {
NSData *JSONData = [JSONString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *responseJSON = nil;
if (JSONData) {
responseJSON = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableContainers error:nil];
}
return responseJSON;
}
打印结果:
name=张三 sex=男 phone=10085
name=李四 sex=女 phone=10086
name=王五 sex=男女 phone=10087