c#如何从文件的结尾向前读取每一行
我知道用StreamReader的ReadLine方法可以从文件的开始位置依次读取文件的每一行,请问一下有没有从文件的结束位置开始向前读取文件行当方法。另外,怎样把文件流...
我知道用StreamReader的ReadLine方法可以从文件的开始位置依次读取文件的每一行,请问一下有没有从文件的结束位置开始向前读取文件行当方法。另外,怎样把文件流的当前位置设置为文件的结束位置。谢谢!
我所需要的数据在文件末尾的前几行中,而文件可能会有几百兆,我觉得倒着读取可以使得速度更快,因为我对每一行的数据都要进行分析是否是我想要的数据,但是可以肯定的是在文件的结束的前几行中肯定有我想要的数据。 展开
我所需要的数据在文件末尾的前几行中,而文件可能会有几百兆,我觉得倒着读取可以使得速度更快,因为我对每一行的数据都要进行分析是否是我想要的数据,但是可以肯定的是在文件的结束的前几行中肯定有我想要的数据。 展开
3个回答
展开全部
你为何要这样做呢?为了性能?
全部读取了存入数组,然后倒着阅历
StreamReader的ReadLine方法是否是从内存中读取的?如果如此,倒着读性能也提升不了多少啊
=====================================
你为什么不在存入数据的时候,把数据插在前面?读取的时候就在前面。
这可能导致一个问题:存数据时候,要花费更多时间,但如果数据主要用于查询,这样的做是值得的
==========================================
还有,如果数据很大,建议还是用数据库好
全部读取了存入数组,然后倒着阅历
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();
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();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询