Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Objective C中读取文本文件的最后n行_Ios_Objective C_Text Files - Fatal编程技术网

Ios 如何在Objective C中读取文本文件的最后n行

Ios 如何在Objective C中读取文本文件的最后n行,ios,objective-c,text-files,Ios,Objective C,Text Files,我有一个文本文件,它有很多行。如何从文本文件中获取最后的“n”行数?我们可以在文本文件中为每个文件指定数字吗?我们如何获得它。您可以使用NSFileHandle,seekToEndOfFile然后使用seekToFileOffset:和readDataOfLength:从OffsetFile反向工作,扫描每次读取的回车数据并计数,直到达到所需的数字。您可以在每次扫描后构建文本。您可以使用NSFileHandle,seekToEndOfFile然后使用seekToFileOffset:和readD

我有一个文本文件,它有很多行。如何从文本文件中获取最后的“n”行数?我们可以在文本文件中为每个文件指定数字吗?我们如何获得它。

您可以使用
NSFileHandle
seekToEndOfFile
然后使用
seekToFileOffset:
readDataOfLength:
OffsetFile
反向工作,扫描每次读取的回车数据并计数,直到达到所需的数字。您可以在每次扫描后构建文本。

您可以使用
NSFileHandle
seekToEndOfFile
然后使用
seekToFileOffset:
readDataOfLength:
OffsetFile
反向工作,扫描每次读取的回车数据并计数,直到达到所需的数字。您可以在每次扫描后构建文本。

尝试使用以下方法:

    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);
    }
NSString*oneLineStr;
对于(int i=allLinedStrings.count-100;i
尝试使用此选项:

    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);
    }
NSString*oneLineStr;
对于(int i=allLinedStrings.count-100;i
一种方法是将\n文本文件中的不同行分开。然后

NSString* path = [[NSBundle mainBundle] pathForResource:@"filename" 
                                                 ofType:@"txt"];
NSString* content = [NSString stringWithContentsOfFile:path
                                              encoding:NSUTF8StringEncoding
                                                 error:NULL];
NSArray* lines = [content componentsSeparatedByString: @"\n"];
然后您可以获取数组中的最后几个元素


希望这有帮助。

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

NSString* path = [[NSBundle mainBundle] pathForResource:@"filename" 
                                                 ofType:@"txt"];
NSString* content = [NSString stringWithContentsOfFile:path
                                              encoding:NSUTF8StringEncoding
                                                 error:NULL];
NSArray* lines = [content componentsSeparatedByString: @"\n"];
然后您可以获取数组中的最后几个元素


希望这有帮助。

你的意思是你只想要最后一行?不是最后一行,而是最后100行。。试着实现我的答案。我希望你能得到你的答案…你的意思是你只想要最后一行?不是最后一行,而是最后100行…试着实现我的答案。我希望你能得到你的答案…如果文件大小是10MB怎么办?你能等几秒钟吗?当然会等,如果你有好的解决方案,请告诉我plz?如果文件大小是10 MB怎么办?你们能等几秒钟吗?当然会等,若你们有好的解决方案,请告诉我?