C# 如何读取文本文件中的特定部分?

C# 如何读取文本文件中的特定部分?,c#,io,C#,Io,我有一个非常大的文本文件(500mb),我需要得到它的文本。 当然问题是内存不足,但我想通过获取字符串(或字符数组)并将它们放入列表来解决它。 我在谷歌上搜索,但我真的不知道如何扮演一个特定的角色。 *如果有帮助的话,这是一条很长的线。您可以使用类来读取文件的一部分。这样做: using (FileStream fsSource = new FileStream(pathSource, FileMode.Open, FileAccess.Read)) {

我有一个非常大的文本文件(500mb),我需要得到它的文本。 当然问题是内存不足,但我想通过获取字符串(或字符数组)并将它们放入列表来解决它。 我在谷歌上搜索,但我真的不知道如何扮演一个特定的角色。 *如果有帮助的话,这是一条很长的线。

您可以使用类来读取文件的一部分。

这样做:

using (FileStream fsSource = new FileStream(pathSource,
        FileMode.Open, FileAccess.Read))
    {

        // Read the source file into a byte array.
        int numBytesToRead = // Your amount to read at a time
        byte[] bytes = new byte[numBytesToRead];

        int numBytesRead = 0;
        while (numBytesToRead > 0)
        {
            // Read may return anything from 0 to numBytesToRead.
            int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);

            // Break when the end of the file is reached.
            if (n == 0)
                break;

            // Do here what you want to do with the bytes read (convert to string using Encoding.YourEncoding.GetString())
        }
    }

这个文件的格式是什么?你对哪一部分感兴趣?它是如何分隔的?听起来您必须使用字节缓冲区读取文件,并测试是否已到达感兴趣的部分。如果你想要完整的文本,你可以逐行阅读。否则,如果您要查找文本的特定部分,您可能会尝试索引。尝试阅读以下问题:它与您要问的内容非常相似。在标题中,您说的是文本文件中的特定部分,但在细节中,您只需要它的文本,似乎说您需要它的全部,您可以详细说明吗。如果你需要一个具体的数额,你将如何确定?关键词或短语,行号?您需要StreamReader、StringBuilder、列表,可能还需要一个正则表达式。只需读取一行结尾(
\n
\r
),然后解析字符串。@ColeJohnson,但OP说文件中只有一行。@DarinDimitrov对我来说,这意味着在许多行的集合中只有一行。“就像一本字典。”科尔约翰逊,我不知道。对我来说,如果有帮助的话,这是一条单行。意味着该文件只包含一条500MB的长行。当然,我可能错了。