c#如何从文件的结尾向前读取每一行

来源:百度知道 编辑:UC知道 时间:2024/06/07 00:33:05
我知道用StreamReader的ReadLine方法可以从文件的开始位置依次读取文件的每一行,请问一下有没有从文件的结束位置开始向前读取文件行当方法。另外,怎样把文件流的当前位置设置为文件的结束位置。谢谢!
我所需要的数据在文件末尾的前几行中,而文件可能会有几百兆,我觉得倒着读取可以使得速度更快,因为我对每一行的数据都要进行分析是否是我想要的数据,但是可以肯定的是在文件的结束的前几行中肯定有我想要的数据。

如果你能确定最后几行的最大长度,可以读取文件结尾开始的最大长度的数据,再自己分析。
System.IO.FileStream fs = new System.IO.FileStream(文件路径, System.IO.FileMode.Open);
fs.Seek(最大长度, System.IO.SeekOrigin.End);
System.IO.StreamReader sr = new System.IO.StreamReader(fs, 编码);
string 要分析的数据 = sr.ReadToEnd();
fs.Close();
sr.Close();

你为何要这样做呢?为了性能?
全部读取了存入数组,然后倒着阅历
StreamReader的ReadLine方法是否是从内存中读取的?如果如此,倒着读性能也提升不了多少啊
=====================================
你为什么不在存入数据的时候,把数据插在前面?读取的时候就在前面。
这可能导致一个问题:存数据时候,要花费更多时间,但如果数据主要用于查询,这样的做是值得的
==========================================
还有,如果数据很大,建议还是用数据库好

如果数据在文本框里,可使用:
string lastestLine=textBox1.Lines[textBox1.Lines.Length - 1];

VC++中如何循环读取TXT文件的每一行内容 如何成批的给每一行的结尾加豆号?? 如何用vc 读取文件中每一行的某个数据 c# winform问题,如何读取xml文件的某一个值 VB中如何实现读取文本文件每一行的第一个字符? 关于C#中读取文件的问题? 如何读取一行数据 C# 如何读取目录下的TXT c# 如何读取指定的string C#如何读取文本文件