我有一个问题,需要用 Objective C 来解决(我尝试使用 C 也不行)。
在 Objective C 中,有没有适当的方法可以从文档目录中的文件逐个读取字符(直到 EOF),并在文件中所有的双引号前附加转义字符,并在每行前添加特殊字符(例如 /)?
将
(type == "Project")
替换为
/(doc.type == \"Project\")
如果您认为我的方法不正确,是否有其他有效的方法来完成此任务?
我有一个问题,需要用 Objective C 来解决(我尝试使用 C 也不行)。
在 Objective C 中,有没有适当的方法可以从文档目录中的文件逐个读取字符(直到 EOF),并在文件中所有的双引号前附加转义字符,并在每行前添加特殊字符(例如 /)?
将
(type == "Project")
替换为
/(doc.type == \"Project\")
如果您认为我的方法不正确,是否有其他有效的方法来完成此任务?
获取文件中的所有行,进行更改(例如替换字符或添加更多文本),然后保存文件。
NSString *objPath = [[NSBundle mainBundle] pathForResource:@"textfile" ofType:@"txt"];
NSData *objData = [[NSData alloc] initWithContentsOfFile:objPath];
NSString *objString = [[NSString alloc] initWithData:objData encoding:NSUTF8StringEncoding];
NSMutableArray *lines = [NSMutableArray arrayWithArray:[objString componentsSeparatedByString:@"\n"]];
for (int i = 0; i < lines.count; i++) {
NSString *oneLine = [lines objectAtIndex:i];
if (oneLine.length < 2) {
continue;
}
oneLine = [NSString stringWithFormat:@"/%@", oneLine];
oneLine = [oneLine stringByReplacingOccurrencesOfString:@"`" withString:@"\`"];
[lines replaceObjectAtIndex:i withObject:oneLine];
}
NSString *finalString = [lines componentsJoinedByString:@"\n"];
//save the file
您可以使用NSFileHandle并将readDataAtLength:的值设置为1。