在iOS中按字符读取文件字符

时间:2012-07-02 11:17:58

标签: objective-c ios xcode file

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

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

    替换

    (type ==“Project”)

    /(doc.type == \“Project \”)

如果你认为我的方法不正确,还有其他方法可以有效地完成这项任务吗?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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