C# 文本文件的读写
C# 文件的输入与输出
StreamReader 和 StreamWriter 类用于文本文件的数据读写。这些类从抽象基类 Stream 继承,Stream 支持文件流的字节读写。
StreamReader 类
StreamReader 类继承自抽象基类 TextReader,表示阅读器读取一系列字符。
下表列出了 StreamReader 类中一些常用的方法:
| 序号 | 方法 & 描述 |
|---|---|
| 1 | public override void Close()关闭 StreamReader 对象和基础流,并释放任何与读者相关的系统资源。 |
| 2 | public override int Peek()返回下一个可用的字符,但不使用它。 |
| 3 | public override int Read()从输入流中读取下一个字符,并把字符位置往前移一个字符。 |
如需查看完整的方法列表,请访问微软的 C# 文档。
实例
下面的实例演示了读取名为 Jamaica.txt 的文件。文件如下:
Down the way where the nights are gay And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop
using System;
using System.IO;
namespace FileApplication
{
class Program
{
static void Main(string[] args)
{
try
{
// 创建一个 StreamReader 的实例来读取文件
// using 语句也能关闭 StreamReader
using (StreamReader sr = new StreamReader("c:/jamaica.txt"))
{
string line;
// 从文件读取并显示行,直到文件的末尾
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
catch (Exception e)
{
// 向用户显示出错消息
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
Console.ReadKey();
}
}
}
当您编译和执行上面的程序时,它会显示文件的内容。
StreamWriter 类
StreamWriter 类继承自抽象类 TextWriter,表示编写器写入一系列字符。
下表列出了 StreamWriter 类中一些常用的方法:
| 序号 | 方法 & 描述 |
|---|---|
| 1 | public override void Close()关闭当前的 StreamWriter 对象和基础流。 |
| 2 | public override void Flush()清理当前编写器的所有缓冲区,使得所有缓冲数据写入基础流。 |
| 3 | public virtual void Write(bool value)把一个布尔值的文本表示形式写入到文本字符串或流。(继承自 TextWriter。) |
| 4 | public override void Write( |