文件系统数据(三)——StreamWriter、StreamReader~20131104

八、StreamWriter对象
    StreamWriter类允许将字符和字符串写入到文件中,它处理底层的转换,向FileStream对象写入数据。
1、创建方法:
(1)如果已有FileStream对象,可以使用此对象来创建StreamWriter对象:
    FileStream aFile=new FileStream("Log.txt",FileMode.CreateNew);
    StreamWriter sw=new StreamWriter(aFile);
(2)直接从文件中创建StreamWriter对象:
    StreamWriter sw=StreamWriter("Log.txt",true);
    这个构造函数的参数是文件名和一个Boolean值,这个Boolean值规定是追加文件,还是创建新文件:
    a、false:创建一个新文件,或者截取现有文件并打开它。
    b、true:打开文件,保留原来的数据。如果找不到文件,则创建一个新文件。

2、StreamWriter类以一种特定的编码输出字符,其常用的构造函数如下
(1)StreamWriter(Stream)  使用默认编码和缓冲区大小,为指定的流初始化StreamWriter类的一个对象
(2)StreamWriter(String)  使用默认编码和缓冲区大小,为指定文件初始化StreamWriter类的一个对象
(3)StreamWriter(Stream,Encoding)  用指定的编码及默认缓冲区大小,为指定的流初始化StreamWriter类的一个对象
(4)StreamWriter(string path,bool append)  path表示要写入的完整文件路径,append表示确定是否将数据追加到文件
   注:如果该文件存在,并且append为false,则该文件被改写;如果该文件存在,并且append为true,则数据被追加到该文件中,否则,将创建新文件。

3、StreamWriter类的常用的方法如下
(1)Write  写入一个或若干个字符
(2)WriteLine  写入一行字符
(3)Close  关闭流并释放相关资源

4、使用StreamWriter类写入数据的过程
   首先建立一个FileStream文件流,然后通过StreamWriter的Write/WriteLine方法将数据写入到该文件流中

5、StreamWriter类的两个最重要的方法:Write()和WriteLine()
(1)WriteLine()方法会写入传递给它的字符串,其后跟有换行符。
     如同可以向控制台写入格式化数据一样,也可以向文件写入格式化数据。例如,可以使用标准格式化参数把变量的值写入文件:
     sw.WriteLine("It is now {0} and thinge are looking good.",DateTime.Now.ToLongDateString());
     DateTime.Now存储当前日期,ToLongDateString()方法用于把这个日期转换为易于读取的格式。
(2)Write()方法只是把传送给它的字符串写入文件,但不追加换行符,因此可以使用多个Write()语句写入完整的句子或段落。
     sw.Write(""More than that,);
     sw.Write("It's {0} that C# is fun.",truth);
(3)可以使用Write()和格式化参数写入用逗号分隔的文件:
     [StreamWriter object].Write("{0},{1},{2}",100,"A nice product",10.50);


九、StreamReader对象
    输入流用于从外部源中读取数据。用来从文件中读取数据的类的StreamReader。同StreamWriter一样,这是一个通用类,可以用于任何流。
    StreamReader对象的创建方式非常类似于StreamWriter对象。创建它的最常见方式是使用前面创建的FileStream对象。

1、StreamReader类按照一种特定的编码从字节流中读取字符,其常用的构造函数如下
(1)StreamReader(Stream)  为指定的流初始化StreamReader类的新实例
(2)StreamReader(String)  为指定的文件名初始化StreamReader类的新实例
(3)StreamReader(Stream,Encoding)  用指定的字符编码为指定的流初始化StreamReader类的一个新实例
(4)StreamReader(String,Encoding)  用指定的字符编码,为指定的文件名初始化StreamReader类的一个新实例

2、StreamReader类的常用的方法如下所示
(1)Close  关闭流并释放相关资源
(2)Read  读取一个或若干个字符
(3)ReadLine  读取一行字符
(4)ReadToEnd  从流的当前位置读取到末尾
(5)Peek  返回下一个可用的字符,但不移动文件指针

3、使用Streamreader类读取数据的过程
   首先建立一个FileStream文件流,然后通过StreamReader类的方法将文件流中的数据读取出来

4、读取数据
    ReadLine()方法不是在文件中访问数据的唯一方法。StreamReader类还包含许多读取数据的方法。
(1)读取数据最简单的方法是Read()。此方法将流的下一个字符作为正整数值返回,如果到达了流的结尾处,则返回-1.使用Convert实用类可以把这个值转换为字符。
(2)对于小型文件,可以使用一个非常方便的方法,即ReadToEnd()方法。些方法读取整个文件,并将其作为字符串返回。
    注:将所有的数据读取到字符串对象中,会迫使文件中的数据放到内存中。应根据数据文件的大小禁止这样处理。如果数据文件非常大,最好将数据留在文件中,并使用StreamReader的方法访问文件。

5、用分隔符分隔的文件
   用分隔符分隔的文件是数据存储的一种常见形式。最常见的分隔符是逗号,例如Excel、Access或SQL Server中的数据都可以导出为用逗号分隔的值(CSA)文件。
   Split()方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值