📜  c# 从文件中读取所有文本 - C# (1)

📅  最后修改于: 2023-12-03 14:59:41.536000             🧑  作者: Mango

C#从文件中读取所有文本

在C#中,我们可以使用 System.IO 命名空间的类来读写文件。这个命名空间提供了许多类型和方法,可以让我们轻松地读取和写入文件。

读取文本文件

读取文本文件的最简单的方法是使用 System.IO.File.ReadAllText 方法。这个方法从指定的文件中读取所有文本,并将其作为字符串返回。

string text = File.ReadAllText("path/to/file.txt");

这个方法会自动打开文件,并读取其内容。如果文件不存在,这个方法会抛出异常。

读取二进制文件

如果需要读取二进制文件,就不能使用 File.ReadAllText 方法了。这个方法只能读取文本文件。取而代之的是,我们需要使用 System.IO.File.ReadAllBytes 方法。这个方法会从指定的文件中读取所有字节,并将其作为 byte[] 数组返回。

byte[] bytes = File.ReadAllBytes("path/to/binaryfile.bin");
逐行读取文本文件

如果需要逐行读取文本文件,可以使用 System.IO.File.ReadAllLines 方法。这个方法会从指定的文件中读取所有行,并将其作为 string[] 数组返回。

string[] lines = File.ReadAllLines("path/to/textfile.txt");
读取大文件

以上方法适用于读取小文件,但是对于大文件来说可能会导致内存不足。在这种情况下,我们需要使用 System.IO.FileStream 类。这个类提供了一个流接口,可以逐字节地读取文件。

using (FileStream stream = new FileStream("path/to/largefile.txt", FileMode.Open))
{
    byte[] buffer = new byte[1024];
    int bytesRead;
    do
    {
        bytesRead = stream.Read(buffer, 0, buffer.Length);
        // 处理读取到的字节
    } while (bytesRead > 0);
}

这个例子使用一个 FileStream 对象来打开指定的文件。然后,它使用一个长度为1024的缓冲区来读取文件的内容。Read 方法返回读取的字节数,如果没有更多数据可读,则返回0。

以上就是在C#中从文件中读取所有文本的一些基本方法。根据不同的需求,我们可以选择使用不同的方法来读取文件。