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