我有一个文本文件,它有很多行如何从文本文件中获取最后“n”行?以及我们能否在每个文件的文本文件中给出数字我们如何获得它。
问问题
1303 次
3 回答
4
您可以使用NSFileHandle
,seekToEndOfFile
然后从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 回答