C#中的Seek和ReadLine

时间:2015-09-28 13:34:27

标签: c# filestream streamreader readline seek

我试图寻找文件中的某个位置,然后想要使用ReadLine。 FPosition存储在文件中特定行的开头之前并与之匹配。 也许有用:我的文件大小为20gB,是一个文本文件。

private List<int> FPosition = new List<int>();

(...)

public List<string> LoadFile(string aFile, int aPage, int aRowsPerPage)
{
    using (var fileStream = File.OpenRead(aFile))
    {
        if (FPosition.Count <= (aPage - 1) * aRowsPerPage)
        {
            fileStream.Seek(FPosition[(aPage - 1) * aRowsPerPage], SeekOrigin.Begin);
        }
        using (var streamReader = new StreamReader(fileStream,
                                                 Encoding.Unicode,
                                                 true,
                                                 BufferSize))
        {
            for (int i = 0; aRowsPerPage - 1; i++))
            {
                myStringList[i] = streamReader.ReadLine;
            }
        }
    }
    return myStringList;
}

我必须在哪个位置寻找?

感谢您的每一次帮助

0 个答案:

没有答案