高效率讀取文字檔案指定行,避免記憶體佔用
本文介紹幾種高效率讀取文字檔案指定行的方法,無需將整個檔案載入記憶體。
.NET 4.0 以上版本
.NET 4.0 及更高版本可以使用跳過行的方法:
<code>string line = File.ReadLines(FileName).Skip(14).Take(1).First();</code>
此方法直接讀取第 15 行,而不會將整個檔案載入記憶體。
.NET 4.0 以下版本
在 .NET 4.0 之前,需要逐行跳過的方法:
<code>string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { for (int i = 1; i < line; i++) sr.ReadLine(); return sr.ReadLine(); } }</code>
此方法僅讀取所需行,從而減少記憶體消耗。
注意事項
雖然跳過行的方法避免了將整個文件儲存在記憶體中,但對於存取文件末尾附近的行,效率可能會降低。此外,檔案結構必須允許精確確定行號,而不能依賴可能發生變化的行數。
以上是如何在不將整個文件載入到記憶體的情況下高效存取文字檔案中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!