0

我有一个文本文件,它有很多行如何从文本文件中获取最后“n”行?以及我们能否在每个文件的文本文件中给出数字我们如何获得它。

4

3 回答 3

4

您可以使用NSFileHandleseekToEndOfFile然后从offsetInFile使用seekToFileOffset:readDataOfLength:扫描每次读取的数据以获取回车并计数它们,直到达到所需的数字。您可以在每次扫描后建立文本。

于 2013-07-12T07:08:21.547 回答
0

尝试使用这个:

    NSString* textFile = [[NSBundle mainBundle] 
                   pathForResource:@"fileName" ofType:@"txt"];

    NSString* fileContents = [NSString stringWithContentsOfFile: textFile 
           encoding: NSUTF8StringEncoding error: nil];

用新行分隔

    NSArray* allLinedStrings = 
          [fileContents componentsSeparatedByCharactersInSet:
          [NSCharacterSet newlineCharacterSet]];

在这里您可以获得最后 100 个对象

    NSString* oneLineStr;
    for (int i = allLinedStrings.count - 100; i < allLinedStrings.count; i++)
    {
        oneLineStr = [allLinedStrings objectAtIndex: i];
        NSLog@("New Line %@", oneLineStr);
    }
于 2013-07-12T07:09:02.457 回答
0

一种方法是将 \n 分隔文本文件中的不同行。然后

NSString* path = [[NSBundle mainBundle] pathForResource:@"filename" 
                                                 ofType:@"txt"];
NSString* content = [NSString stringWithContentsOfFile:path
                                              encoding:NSUTF8StringEncoding
                                                 error:NULL];
NSArray* lines = [content componentsSeparatedByString: @"\n"];

然后您可以获取数组中的最后几个元素。

希望这可以帮助..

于 2013-07-12T07:09:13.317 回答