txt文件转plist文件

开发中,我们经常会遇到一些情况,由于数据量庞大,而且不太需要去一直更新的情况下,为了有更好的用户体验,我们会选择把数据存在本地。有可能就会用到今天讲的内容。

将txt文件拖到工程下

这里要注意一点txt文件的格式最好用UTF-8编码,
如果给到你的不是UTF-8编码格式的,你重新导出一下txt的编码格式就好。

//读取txt文件的路径
NSString *txtPath = [[NSBundle mainBundle] pathForResource:@"lalala" ofType:@"txt"];

//gbk编码 如果txt文件为utf-8的则使用NSUTF8StringEncoding
//    NSStringEncoding gbk = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

//定义字符串接收从txt文件读取的内容
NSString *str = [[NSString alloc] initWithContentsOfFile:plistPath encoding:NSUTF8StringEncoding error:nil];
//将字符串转为nsdata类型
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
//将nsdata类型转为NSDictionary
NSDictionary *pDic = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *plistPath1 = [paths objectAtIndex:0];
//得到完整的文件名
NSString *filename=[plistPath1 stringByAppendingPathComponent:@"lalala.plist"];
//输入写入
[pDic writeToFile:filename atomically:YES];

  // 最后再从本地将数据从本地取出来 看下是否正确
    NSDictionary *dic = [[NSDictionary alloc] initWithContentsOfURL:[NSURL fileURLWithPath:filename]];

小小程序员,不容易。有问题的我们一起探讨!

你可能感兴趣的:(txt文件转plist文件)