从头到尾读取文件

时间:2010-01-08 12:03:57

标签: .net file-io

我正在尝试为我们的消息传递(WCF)组件构建一个小工具。我们的想法是根据以前的跟踪日志提供响应以进行测试。由于SOAP消息非常大,我们往往会有大量的跟踪文件。我想要做的是从头到尾逐行读取跟踪(从最新到最旧)以构建我的响应。任何人都知道如何在.NET中做到这一点?似乎FileStream类仅支持正向读取。

1 个答案:

答案 0 :(得分:2)

如果这些是文本文件,我在MiscUtil中有一个ReverseLineReader(或类似的),您可能会发现它很有用。它只支持某些编码(Unicode,UTF-8或任何固定的单字节编码),但希望这对你来说已经足够了。

它通过迭代器返回字符串,因此您可以使用LINQ来限制读取的数量等等,并且它们会被懒惰地读取。

我假设您实际上并不想读取整个文件?如果你这样做,我建议使用File.ReadAllLines然后反转结果数组:)