把txt文件中的json字符串写到plist文件中

时间:2022-12-18 15:17:10
- (void)json2Plist
{
NSString *filePath = [self applicationDocumentsDirectoryFileName:@"json"];
NSMutableArray *tempArray = [[NSMutableArray alloc] initWithContentsOfFile:filePath]; //第一次添加数据时,数组为空
if (tempArray.count == ) {
tempArray = [NSMutableArray array];
}

  //文件名(utf-8编码)
NSString *path = [[NSBundle mainBundle] pathForResource:@"city2" ofType:@"txt"];
NSString *contents = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray *list = [contents componentsSeparatedByString:@","]; for (NSString *tempStr in list) {
NSDictionary *dict = [tempStr propertyListFromStringsFileFormat];
[tempArray addObject:dict];
} BOOL success = [tempArray writeToFile:filePath atomically:YES];
NSLog(@"success:%d",success);
} #pragma mark - 获取沙盒中的Plist文件路径
- (NSString *)applicationDocumentsDirectoryFileName:(NSString *)fileName
{
NSString *filePath;
//沙盒中的Document文件夹
NSString *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; //获取传来的Plist文件名
NSString *fileNameStr = [NSString stringWithFormat:@"%@.plist",fileName];
filePath = [documentDirectory stringByAppendingPathComponent:fileNameStr];
return filePath;
}
//txt文本格式示例:
{id = ;contents = "北京市";},{id = ;contents = "天津市";},{id = ;contents = "石家庄市";},{id = ;contents = "阿勒泰地区";}