C#中的StreamReader/StreamWriter

本文详细介绍使用C#中的StreamReader和StreamWriter进行文件读写的方法,包括构造函数的使用及示例代码,帮助读者掌握如何以字符为单位进行数据读写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在读写文件的过程中,Filestream只可以进行以字节为单位原始数据流进行读写操作,为此,C#中提供了功能更加强大的StreamReader/ StreamWriter来支持文件的读写. StreamReader/ StreamWriter可以进行以字符为单位的数据读写操作..

  一. 用StreamReader的构造函数

  StreamReader有很多的构造函数:在这里只列出两个常用和比较常见的

  StreamReader  sr=new StreamReader (Stream); Stream可以是Filestream;

  StreamReader  sr=new StreamReader (String); String为指定的文件名初始化 StreamReader 类的新实例。

  例如:

  //demo1

  FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite); StreamReader sr = new StreamReader(filest);

  //demo2

  StreamReader another = new StreamReader(@"c:\abc.txt");

  两个StreamReader都指向同一个文件.

  StreamReader读取文件中的数据的代码:

  FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite);

  StreamReader sr = new StreamReader(filest);

  string strLine = sr.ReadLine();//读取文件中的一行

  while(strLine!=null)//判断是否为空,表示到文件最后一行了

  {

  Console.WriteLine(strLine);

  strLine = sr.ReadLine();

  }

  sr.Close();//关闭流

  filest.Close();

  程序运行结果和盘中abc.txt文件中的内容比较如下:

  

  二. StreamWriter

  StreamWriter 专门用于的向文件中写数据的,它和StreamReader类似,只是一个负责向文件中写数据,一个负责向文件中读数据而已.

  StreamWriter 构造函数也有很多.在这里只举例两个构造函数.

  StreamWriter  sr=new StreamWriter (Stream); Stream可以是Filestream;

  StreamWriter  sr=new StreamWriter (String); String为指定的文件名初始化StreamWriter 类的新实例。

  例如:

  //demo1

  FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter (filest);

  //demo2

  StreamWriter another = new StreamWriter (@"c:\abc.txt");下面的例子可以让大家掌握写文件的方法.

  FileStream filewriter = new FileStream(@"C:\abc.txt", FileMode.Append, FileAccess.Write);

  以追加的方式打开文件,并进行写入操作.

  StreamWriter sw = new StreamWriter(filewriter); 构造函数;

  for (char mychar = 'a'; mychar <= 'z'; mychar++)

  {

  sw.Write(mychar);//将从a—z26个小写字母写入文件中.

  }

  sw.Close();filewriter.Close();

  //demo

  FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite);

  StreamReader sr = new StreamReader(filest);

  string strLine = sr.ReadLine();

  while(strLine!=null)

  {

  Console.WriteLine(strLine);

  strLine = sr.ReadLine();

  }

  sr.Close();

  filest.Close();

  

  以上两图是输出内容和abc.txt中内容的比较.

转载于:https://www.cnblogs.com/zhdonghu/archive/2009/07/20/1527313.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值