在C#中,StreamWriter
和 StreamReader
是用于文件读写操作的两个重要类。StreamWriter
用于向文件写入文本,而 StreamReader
用于从文件读取文本。下面是详细的解释和示例代码。
StreamWriter
定义: StreamWriter
是一个用于写入字符到流的类。它通常与文件流一起使用,以便将文本写入文件。
主要方法:
Write(string value)
:将字符串写入流。WriteLine(string value)
:将字符串写入流,并在末尾添加换行符。Flush()
:将缓冲区的内容写入基础流。Close()
:关闭流并释放所有资源。
示例:
csharp
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
// 使用 StreamWriter 写入文件
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Hello, World!");
writer.WriteLine("This is a test file.");
writer.WriteLine("StreamWriter example.");
}
Console.WriteLine("File written successfully.");
}
}
StreamReader
定义: StreamReader
是一个用于从流中读取字符的类。它通常与文件流一起使用,以便从文件中读取文本。
主要方法:
Read()
:读取一个字符并将其作为整数返回。ReadLine()
:读取一行字符并将其作为字符串返回。ReadToEnd()
:读取流的剩余字符并将其作为字符串返回。Close()
:关闭流并释放所有资源。
示例:
csharp
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
// 使用 StreamReader 读取文件
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
Console.WriteLine("File read successfully.");
}
}
结合使用 StreamWriter 和 StreamReader
下面是一个完整的示例,展示了如何使用 StreamWriter
写入文件,然后使用 StreamReader
读取文件内容。
csharp
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
// 使用 StreamWriter 写入文件
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Hello, World!");
writer.WriteLine("This is a test file.");
writer.WriteLine("StreamWriter example.");
}
Console.WriteLine("File written successfully.");
// 使用 StreamReader 读取文件
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
Console.WriteLine("File read successfully.");
}
}
总结
- StreamWriter:用于向文件写入文本,提供多种方法来写入字符和字符串。
- StreamReader:用于从文件读取文本,提供多种方法来读取字符和字符串。
- using 语句:确保在操作完成后自动关闭和释放资源,避免资源泄漏。
通过这些类,可以方便地进行文件的读写操作,简化文件处理过程。