任何人都可以让我知道在5 GB大小的文件中显示行范围的最快方法。例如:如果文件的大小为5GB,并且行号中包含文件中的一列。假如文件中的行数是100万,我有开始索引行#和结束索引行#。假设我想读取第25行至第89行的大文件,而不是阅读每一行,是否有任何最快的方式从25日到89日读取特定行而不从C#开始读取整个文件
答案 0 :(得分:1)
简而言之,没有。在你真正阅读之前,怎么可能知道回车/行号的位置?
为避免内存问题,您可以:
File.ReadLines(path)
.SkipWhile(line=>someCondition)
.TakeWhile(line=>someOtherCondition)
5GB是需要筛选的大量数据而不构建某种索引。我认为您偶然发现了将数据加载到数据库并添加适当索引的情况,这可能会为您提供最佳服务。