📅  最后修改于: 2023-12-03 14:59:41.536000             🧑  作者: Mango
在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#中从文件中读取所有文本的一些基本方法。根据不同的需求,我们可以选择使用不同的方法来读取文件。