gpt4 book ai didi

c# - 在 C# 中向后读取大文件(从头到尾)

转载 作者:行者123 更新时间:2023-12-04 10:50:32 30 4
gpt4 key购买 nike

<分区>

我有一个包含一系列价格数据的文本文件。该问题可能与任何长期的历史数据相匹配,例如温度、空气湿度、价格、日志文件……

我的历史文件的头部如下所示:
enter image description here

如果我想读取和处理一个对内存来说太大的文件,我通常会选择以下代码:

using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (BufferedStream bs = new BufferedStream(fs))
using (StreamReader sr = new StreamReader(bs))
{
string line;
while ((line = sr.ReadLine()) != null)
{
// Process Data
}
}

在我的例子中,每 1000 毫秒创建一条记录。最新数据位于文件末尾。尝试处理最新数据时会出现问题。

例子:
我想生成过去 30 天的平均值。
从文件末尾开始并向开头移动直到达到 X 天阈值将是最有效的。上面的示例代码将读取整个文件,这在这种情况下几乎不可用。每次我需要更新最近的数据指标时都是最坏的情况。这个问题当然适用于任何你想处理最后 x 个元素的操作。

有没有从头到尾读取文件的功能?

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com