你知道如何使用\n读取包含大约30行的文件的最后一行或最后两行,并关注性能速度吗?
编辑:比以下内容更快的东西:
string[] splitedArray= input.Split('\n');
string lastLine = splitedArray[splitedArray.Length-1];使用c#
发布于 2012-02-11 19:47:26
如果创建一个新的IO.FileStream()对象,就会有一个.Seek()方法,它允许您将文件的结尾指定为要查找的位置的一部分。然而,在这一点上,没有直接的方法来查看最后一行从哪里开始。你将不得不向后走寻找一条线,或者如果你知道最后一条线是什么样子(因此它有多长),你也许能够猜测你需要往回走多远,然后再走一点。使用FileStream.CanSeek属性确定当前实例是否支持查找。有关其他信息,请参阅Stream.CanSeek。
FileStream fileStream = new FileStream(fileName, FileMode.Open)
// Set the stream position to the end of the file.
fileStream.Seek(0, SeekOrigin.End);然后循环一遍,直到得到/n
你也可以读到另一个问题:How to read a text file reversely with iterator in C#
发布于 2012-02-11 19:49:14
从我的脑海中
string lastline = input.Substring(
input.LastIndexOf('\n'));发布于 2012-02-11 20:28:11
如果您在读取任何文件时需要更好的性能,您可以使用内存映射文件读/写,即在低级API上工作。
https://stackoverflow.com/questions/9239910
复制相似问题