iphone扫描数据文件以获取数据

时间:2010-04-09 22:12:22

标签: iphone objective-c cocoa-touch streamreader

我正在尝试重新制作我在OBJ中使用C#制作的程序。在C#中,我使用streamreader搜索数据文件中我要查找的行,然后将该行转换为我可以使用的字符串。

我看过NSScanner,但我不确定那是不是我正在寻找但我绝不是可可专家。

我想要做的就是让它在数据文件中搜索字符串的出现,然后当/如果它找到该字符串的出现时,它将字符串作为字符串找到的行返回。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您的数据文件不是太大而无法放入内存,您只需将其加载到字符串中并使用字符串方法进行搜索即可。例如:

NSData *data = [NSData dataWithContentsOfFile:@"/path/to/file.dat"];
NSString *dataString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
for (NSString *line in [dataString componentsSeparatedByString:@"\n"])
    if (!NSEqualRanges([line rangeOfString:searchString], NSMakeRange(NSNotFound,0)))
        return line;