1.从json文件中读取Data内容并转成字典
NSString *filePath=@"/vault/SWName/Config/SWName.json";
NSMutableDictionary *dict=[NSMutableDictionary new];
NSData *data=[NSData dataWithContentsOfFile:filePath];//从文件中读取data数据,NSData的类方法实现的
dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];//将NSData类型的数据转化成Json格式的数据
2.将字典转换成Data并存储在json文件中
NSData *data=[NSJSONSerialization dataWithJSONObject:dict options:1 error:nil];
[data writeToFile:filePath atomically];
3.从csv文件中读取内容并存储到数组中
NSString *tempFilePath;//方法列表文件路径
tempFilePath=[NSString stringWithFormat:@"%@/%@/Config/%@.csv",filePath,swName,swName];
NSError *error = nil;
NSString *fileContents = [NSString stringWithContentsOfFile:tempFilePath encoding:NSUTF8StringEncoding error:&error];
NSArray *allLinedArray = [fileContents componentsSeparatedByString:@"\n"];
sequencesData=[NSMutableArray new];
NSLog(@"[TestStation] Test sequence:%@",allLinedArray);
for(NSString *linedStrings in allLinedArray){
if (![linedStrings containsString:@"stepName,functionName"]&&[linedStrings isNotEqualTo:@""]&&![linedStrings hasPrefix:@"//"]) {
NSArray *linedArray;
linedArray=[linedStrings componentsSeparatedByString:@","];
NSMutableArray *tempSequencesData=[NSMutableArray new];
//对方法列表每一行的元素进行处理
for(NSString *str in linedArray){
//NSString类提供了stringByTrimmingCharactersInSet方法过滤字符串两端的特殊符号
[tempSequencesData addObject:[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
}
[sequencesData addObject:tempSequencesData];
}
}
4.将数组拼接成字符串,再将字符串转化成NSData数据
for(int i=0;i<arr.count;i++)
{
NSString *arrrayString = [arr[i] componentsJoinedByString:@","];
arrrayString=[NSString stringWithFormat:@"%@\r\n",arrrayString];
NSData *date=[arrrayString dataUsingEncoding:NSUTF8StringEncoding];
fileHandle=[NSFileHandle fileHandleForWritingAtPath:configpath];
[fileHandle seekToEndOfFile];
[fileHandle writeData:date];//写入文件
}
5.将字符串写入文件中
NSString *cmdPath1= @"/vault/AUTO/CMD_SOC.txt";
[@"START" writeToFile:cmdPath1 atomically:YES encoding:NSUTF8StringEncoding error:nil];