阅读量:7
StreamReader和StreamWriter是C#中用于处理文本文件的类,而FileStream是用于处理二进制文件的类。下面是它们的用法详解:
StreamReader用法:
- 创建一个StreamReader对象:可以通过指定文件的路径来创建StreamReader对象,也可以通过传递一个FileStream对象来创建StreamReader对象。
StreamReader reader = new StreamReader("file.txt"); StreamReader reader = new StreamReader(File.OpenRead("file.txt"));
- 读取文件内容:可以使用ReadLine()方法逐行读取文本文件,使用ReadToEnd()方法一次性读取整个文件内容。
string line = reader.ReadLine(); string content = reader.ReadToEnd();
- 关闭StreamReader对象:读取完文件后,需要关闭StreamReader对象以释放资源。
reader.Close();
StreamWriter用法:
- 创建一个StreamWriter对象:可以通过指定文件的路径来创建StreamWriter对象,也可以通过传递一个FileStream对象来创建StreamWriter对象。
StreamWriter writer = new StreamWriter("file.txt"); StreamWriter writer = new StreamWriter(File.OpenWrite("file.txt"));
- 写入数据到文件:可以使用Write()方法将数据写入文件,使用WriteLine()方法写入一行数据到文件。
writer.Write("Hello"); writer.WriteLine("World");
- 关闭StreamWriter对象:写入完数据后,需要关闭StreamWriter对象以释放资源。
writer.Close();
FileStream用法:
- 创建一个FileStream对象:需要指定文件的路径、打开模式和访问权限来创建FileStream对象。
FileStream fileStream = new FileStream("file.bin", FileMode.Open, FileAccess.ReadWrite);
- 读取二进制数据:可以使用Read()方法读取一个字节的二进制数据,使用ReadByte()方法读取一个字节的二进制数据,使用ReadBytes()方法读取指定长度的二进制数据。
byte[] buffer = new byte[1024]; int bytesRead = fileStream.Read(buffer, 0, buffer.Length);
- 写入二进制数据:可以使用Write()方法写入一个字节的二进制数据,使用WriteByte()方法写入一个字节的二进制数据,使用WriteBytes()方法写入字节数组的二进制数据。
byte[] data = { 0x01, 0x02, 0x03 }; fileStream.Write(data, 0, data.Length);
- 关闭FileStream对象:读取或写入完数据后,需要关闭FileStream对象以释放资源。
fileStream.Close();
以上就是StreamReader/StreamWriter与FileStream的用法详解。根据具体需求和文件类型选择适合的类来处理文件操作。