我正在嘗試爲我們的消息傳遞(WCF)組件構建一個小工具。這個想法是基於先前的跟蹤日誌給出響應以進行測試。由於SOAP消息非常大,我們傾向於擁有巨大的跟蹤文件。我想要做的就是從最後一行開始逐行讀取(從最新到最舊),以便構建我的迴應。任何人都有任何想法我怎麼能在.NET中做到這一點?看來FileStream類只支持正向讀取。從頭開始讀取文件
從頭開始讀取文件
回答
如果這些文本文件,我有ReverseLineReader
(或一些這樣的)在MiscUtil,你可能會發現有用的。它只支持某些編碼(Unicode,UTF-8或任何固定的單字節編碼),但希望這對你來說已經足夠了。
它通過一個迭代器返回字符串,所以你可以使用LINQ來限制你讀多少等,並且它們被懶惰地讀取。
我假設你實際上並不想讀整個文件?如果你這樣做,我會建議使用File.ReadAllLines
,然後扭轉由此產生的陣列:)
謝謝。我會看看它。但是,這個想法是獲得關於如何實現它自己的指導,而不是已經完成的解決方案的鏈接:)。 (用於學習目的) – 2010-01-08 13:33:20
是的,我不想讀取內存中的整個文件。涉及的跟蹤日誌相當大 – 2010-01-08 13:34:57
@AZ:這非常棘手,因爲你基本上必須讀取一個緩衝區並向後查找換行符,並將各種事情考慮在內。我建議你嘗試從現有的代碼中學習:) – 2010-01-08 14:52:51
- 1. 從MATLAB開始讀取文件
- 2. 如何從頭再次開始從文本中讀取行?
- 3. 如何使'讀'功能從文件的開頭開始?
- 4. 從一開始就讀取一個字節的文件從開始到開始
- 5. 在Python中從第n行讀取大型CSV文件(不是從頭開始)
- 6. curl:從文件中讀取頭文件
- 7. 讀取以DOT開頭的文件名「」。「
- 8. 從CSV文件的字符串開始讀取CSV文件
- 9. 從頭開始編寫文件
- 10. 如何在TCL中從頭開始讀取文件(以相反順序)?
- 11. 如何使StreamReader從文本文件的開頭讀取
- 12. 在C++中讀取文件的開始
- 13. 在Java Web中讀取文件開始
- 14. 從頭讀文件
- 15. 開始從特定行中讀取文本文件
- 16. 如何重新啓動StreamReader以開始讀取文件的開頭
- 17. PHP是否從頭文件讀取cookie?
- 18. 從文件開頭到指定字節的C++讀取
- 19. 紅寶石從文件開頭連續讀取
- 20. UINavigationController從頭開始?
- 21. 從頭開始MVC
- 22. 從CSV文件開始讀取CSV列名稱
- 23. 從python的第二行開始讀取文件
- 24. 如何從python的頂部開始讀取文件?
- 25. 在java中讀取csv文件從第3行開始
- 26. 如何從Julia開始讀取一個x字節的文件?
- 27. 如何從特定行開始讀取.txt文件?
- 28. 從特定行開始讀取目錄中的多個文件
- 29. 如何在web開始從jar文件中讀取目錄
- 30. C++使用while循環讀取文件,從「x」行開始
另請參見:[獲取超大文本文件的最後10行> 10GB c#](http://stackoverflow.com/questions/398378 ),[如何用C#中的迭代器反向讀取文本文件](http://stackoverflow.com/questions/452902) – hippietrail 2012-11-05 19:14:09