C#文件操作(三)

前面我们介绍过FileStream流,它是专门以字节形式处理的字节流。对于文本文件处理上不太方便,所以下面讲解一下用于文本文件处理中经常使用到的StreamReder和StreamWriter流。

一、StreamReader流
StreamReader类用于读取标准文本文件的各行信息。

1、重载构造函数
StreamReader(Stream) //指定流创建
StreamReader(string) //指定路径创建
StreamReader(Stream,Encoding) //指定流和文件编码创建
StreamReader(string,Encoding) //指定路径和编码创建

常用的构造函数如下:

string path=@"C:\123.txt";
StreamReader sd=new StreamReader(path);
StreamReader sd2=new StreamReader(path,Encoding.default);

2、常用的方法和属性
Close //关闭StreamReader流
Equals //判断两个流是否相等
Read //读取一个字符
ReadToEnd //从文件流当前位置一直读取到文件尾
ReadLine //读取一行。如果到我输入流末尾,则为空引用

3、过程
StreamReader读取文本文件首先会利用File.OpenRead打开文件产生FileStream流,再通过StreamReader对FileStream将数据输出到窗口或窗体控件上

二、StreamWriter
与StreamReader相反,StreamWriter是对文件进行写操作的。

1、构造函数
StreamWriter(Stream) ; //指定流创建
StreamWriter(String) //指定路径创建
StreamWriter(Stream,Encoding) //指定流和编码创建
StreamWriter(String,bool append) //指定路径和是否追加在文件后创建

常用的构造函数如下:

string path=@"123.txt";
StreamWriter sw=new StreamWriter(path);
StreamWriter sw2=new StreamWriter(path,true);   //指定路径打开,并追加到文件后面

注意的追加的问题,
如果文件存在,但是不追加则文件写入时会从第一个字符开始改写原有文件。
如果文件存在,同时也追加的话,会从相应的文件后面追加字符串。
如果文件不存在,则会直接创建文件。

举个例子,如果123.txt的内容为:ascdefghijklmnopqrstuvwxyz
如果追加,写入的字符串为1234567,则最终123.txt内容为ascdefghijklmnopqrstuvwxyz1234567
如果不追加,写入的字符串为1234567,则最终的123.txt内容为1234567hijklmnopqrstuvwxyz1234567

2、常用的方法和属性
Close //关闭流
Equals //判断流是否相等
Write //写入流,不加换行符,可以写入任何基本类型100,3.1415,‘a’,“asdasfad”,true等都可以

WriteLine //写入流,追加换行符,可以写入任何基本类型100,3.1415,‘a’,“asdasfad”,true等都可以

实例:

StreamWriter sw = new StreamWriter(@"C:\1111.txt",false);
sw.WriteLine(@"zheshiyiduan ceshi 
de cengxu ");
sw.Write(@"1234567
823456789");
sw.Write(1024);
sw.WriteLine(2048);

sw.Close();

3、StreamWriter操作过程
首先通过File类的OpenWrite建立一个写入文件流,然后通过StreamWriter的WriterLine方法将窗口或控件中的文本框的文本写入到该流中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值