C#有效率地讀取大型文字檔案中的特定行
需要從大型文字檔案讀取特定行,避免將整個檔案儲存為字串陣列的記憶體密集型解決方案。以下方法可以實現:
方法一:位元組偏移法
FileStream.Seek
方法將檔案流定位到計算出的偏移量。 StreamReader.ReadLine()
讀取該行。 方法二:LINQ方法 (適用於.NET 4.0以上版本)
File.ReadLines(fileName).Skip(line - 1).Take(1).First()
。 方法三:自訂行讀取器
範例 (方法一)
<code class="language-csharp">public static string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { // ... (代码略,此处需补充计算字节偏移量和读取行的逻辑) ... } }</code>
處理結構化檔案
針對結構化文件,可以採用以下策略:
File.ReadLines(fileName).Take(25).ToArray()
讀取前25行。 X
的值。 File.ReadLines(fileName).Skip(25).Take(X).ToArray()
讀取接下來的X
行。 透過這些方法,您可以有效率地從大型文字檔案中讀取特定行,而無需載入整個檔案到記憶體中。 選擇哪種方法取決於檔案的特定大小、結構和.NET Framework版本。
以上是如何使用 C# 高效存取大型文字檔案中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!