簡體   English   中英

C#僅讀取特定的行而不逐行讀取

[英]C# Reading only specific lines without reading line by line

我在過去一個小時一直在搜尋,卻找不到答案。

我有一個大文本文件(1GB),並且我也有一個文件,所有文件都已映射完畢,所以我知道在x到y行上包含我要的數據。

我的問題是,我如何只獲取我感興趣的行,而又不遍歷文件中的所有行?

我對這種方式感興趣的主要原因是出於性能方面的考慮,我認為將行503,432移至行504,432比從行1循環至504,432查找這些行更快。

任何提示,不勝感激

如果要查找特定的行號,則無論如何都要讀取所有行以對其進行計數。 您不能在不讀取文件的情況下對行進行計數,除非行是固定長度的。 閱讀時無需保存行。 僅保存所需的行號,或處理它們而不將其保留在內存中供以后使用。

我認為這是過早優化的情況。 我正在使用FileHelpers AsyncEngine處理約6GB的文件, 無論如何 ,“讀取文件”部分都不是該過程中最慢的部分。

讀取前500k行需要花費多長時間? 您要節省多少時間?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM