📅  最后修改于: 2023-12-03 14:59:43.637000             🧑  作者: Mango
在 C# 中,读取文件流是一个非常常见的任务。文件流可以是文本文件、二进制文件或其他类型的文件,这取决于你的实际需求。本文将介绍如何使用 C# 读取文件流并处理文件内容。
在 C# 中,可以使用 FileStream 类来读取文件流。FileStream 类提供了一个构造函数,该构造函数接受文件名和打开方式作为参数。在打开文件时,需要指定打开文件的方式。通常,我们使用 FileMode.Open 和 FileAccess.Read 这两个参数来读取文件。
string fileName = @"C:\Users\username\Desktop\example.txt";
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
// 处理文件内容
}
读取文本文件流时,可以使用 StreamReader 类。StreamReader 类提供了一个构造函数,该构造函数接受一个 FileStream 类实例作为参数。在创建 StreamReader 实例时,需要指定编码方式。如果你不指定编码方式,StreamReader 类会使用默认编码方式。
string fileName = @"C:\Users\username\Desktop\example.txt";
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
using (StreamReader sr = new StreamReader(fs, Encoding.UTF8))
{
string line;
while ((line = sr.ReadLine()) != null)
{
// 处理每一行文本内容
}
}
读取二进制文件流时,可以使用 BinaryReader 类。BinaryReader 类提供了多种读取数据的方法,包括 ReadBoolean、ReadByte、ReadInt16 等等。
string fileName = @"C:\Users\username\Desktop\example.bin";
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
using (BinaryReader br = new BinaryReader(fs))
{
byte[] buffer = new byte[1024];
int count = 0;
while ((count = br.Read(buffer, 0, buffer.Length)) != 0)
{
// 处理读取到的二进制数据
}
}
使用 C# 读取文件流非常简单。通过 FileStream 类、StreamReader 类和 BinaryReader 类,我们可以轻松地读取文本文件流和二进制文件流。在实际使用中,根据实际需求,选择合适的读取方式,可以提高代码的效率和可读性。