3

基本上我有一个问题,需要单独使用Objective C来解决。(我试过用C)

  • 目标C中是否有任何适当的方法可以从放置在文档目录中的文件中逐个字符(直到EOF)读取。因此,我将在文件中的所有引号之前附加一个转义字符,并在每行之前附加一个特殊字符(比如 /)。

    代替

    (类型==“项目”)

    /(doc.type == \"项目\")

如果您觉得我的方法不正确,还有其他方法可以有效地完成此任务吗?

4

2 回答 2

4

从文件中获取所有行,进行更改,例如替换字符或添加更多文本,然后保存文件。

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
于 2012-07-02T11:54:05.760 回答
2

您可以使用 NSFileHandle 并调用 readDataAtLength: 值为 1。

于 2012-07-02T11:23:12.340 回答