如何在Objective-C中逐行读取.text文件?

时间:2014-02-28 20:46:45

标签: objective-c load

我有一个巨大的.txt文件(如100mb),我不想将所有内容加载到NSString中。那么如何逐行阅读这个文件呢?

我想要像:

while ( endOfFile is not reached )
   line = readline();

1 个答案:

答案 0 :(得分:1)

也可以使用C代码(因为ObjectiveC是C的超集);有fgets函数只能读取一行。

FILE *file = fopen([filename UTF8String], "r");
char buffer[256];
while (fgets(buffer, sizeof(char)*256, file) != NULL){
    NSString* line = [NSString stringWithUTF8String:buffer];
    NSLog(@"%@",line);
}

唯一棘手的部分是您在代码中看到的256。您需要确保此数字大于文本文件最长行中的字符数。