c#Seek vs Read

时间:2013-07-18 13:18:21

标签: c# performance file seek

为什么慢慢阅读文件以进行搜索更好?

//if (!read_fields[x] || !ok)
                    //{
                    //    if (l > 0) Seek(l, SeekOrigin.Current);
                    //    read[x] = null;
                    //    continue;
                    //}

                    byte[] bx = new byte[l];
                    if (l > 0) Read(bx, 0, l);

                    if (!read_fields[x] || !ok)
                    {
                        read[x] = null;
                        continue;
                    }

我的速度测试表明寻求非常缓慢!

1 个答案:

答案 0 :(得分:1)

Seek - 将此流的当前位置设置为给定值。 Read - 从流中读取一个字节块,并将数据写入给定的缓冲区。

因此,寻求重新定位阅读位置 - 这是一个耗时的过程。如果你简单阅读 - 你顺序读取文件。