温馨提示×

C# StreamReader/StreamWriter与FileStream用法详解

c#
小云
161
2023-09-20 09:16:47
栏目: 编程语言

StreamReader和StreamWriter是C#中用于处理文本文件的类,而FileStream是用于处理二进制文件的类。下面是它们的用法详解:

StreamReader用法:

  1. 创建一个StreamReader对象:可以通过指定文件的路径来创建StreamReader对象,也可以通过传递一个FileStream对象来创建StreamReader对象。
StreamReader reader = new StreamReader("file.txt");
StreamReader reader = new StreamReader(File.OpenRead("file.txt"));
  1. 读取文件内容:可以使用ReadLine()方法逐行读取文本文件,使用ReadToEnd()方法一次性读取整个文件内容。
string line = reader.ReadLine();
string content = reader.ReadToEnd();
  1. 关闭StreamReader对象:读取完文件后,需要关闭StreamReader对象以释放资源。
reader.Close();

StreamWriter用法:

  1. 创建一个StreamWriter对象:可以通过指定文件的路径来创建StreamWriter对象,也可以通过传递一个FileStream对象来创建StreamWriter对象。
StreamWriter writer = new StreamWriter("file.txt");
StreamWriter writer = new StreamWriter(File.OpenWrite("file.txt"));
  1. 写入数据到文件:可以使用Write()方法将数据写入文件,使用WriteLine()方法写入一行数据到文件。
writer.Write("Hello");
writer.WriteLine("World");
  1. 关闭StreamWriter对象:写入完数据后,需要关闭StreamWriter对象以释放资源。
writer.Close();

FileStream用法:

  1. 创建一个FileStream对象:需要指定文件的路径、打开模式和访问权限来创建FileStream对象。
FileStream fileStream = new FileStream("file.bin", FileMode.Open, FileAccess.ReadWrite);
  1. 读取二进制数据:可以使用Read()方法读取一个字节的二进制数据,使用ReadByte()方法读取一个字节的二进制数据,使用ReadBytes()方法读取指定长度的二进制数据。
byte[] buffer = new byte[1024];
int bytesRead = fileStream.Read(buffer, 0, buffer.Length);
  1. 写入二进制数据:可以使用Write()方法写入一个字节的二进制数据,使用WriteByte()方法写入一个字节的二进制数据,使用WriteBytes()方法写入字节数组的二进制数据。
byte[] data = { 0x01, 0x02, 0x03 };
fileStream.Write(data, 0, data.Length);
  1. 关闭FileStream对象:读取或写入完数据后,需要关闭FileStream对象以释放资源。
fileStream.Close();

以上就是StreamReader/StreamWriter与FileStream的用法详解。根据具体需求和文件类型选择适合的类来处理文件操作。

0