首页 理论教育 使用StreamReader和StreamWriter

使用StreamReader和StreamWriter

时间:2023-10-22 理论教育 版权反馈
【摘要】:类StreamReader和类StreamWriter能够读写处理指定的文本文件。在下面的内容中,将详细介绍类StreamReader和类StreamWriter的具体使用方法。使用StreamReader类的方式和StreamWriter类的基本相同,其主要属性信息如表14-16所示。图14-9 输出被读取文件的文本内容从上述各执行代码可以看出,当从文本文件中读、写数据时,必须首先创建一个和被操作文件名相关的StreamReader和StreamWriter实例对象。在没有明确指定的情况下,StreamReader和StreamWriter的默认编码是UTF8Encoding。

使用StreamReader和StreamWriter

类StreamReader和类StreamWriter能够读写处理指定的文本文件。在下面的内容中,将详细介绍类StreamReader和类StreamWriter的具体使用方法。

1.StreamWriter

使用FileStream类后会十分影响效率,因为它需要将写入的文本预先转换为UTF-8格式。而StreamWriter类允许将字符和字符串直接写入文本,而不需要转换为UTF-8格式。StreamWriter类的主要属性信息如表14-14所示。

表14-14 StreamWriter类属性信息

978-7-111-36370-5-Part03-187.jpg

StreamWriter类的主要方法信息如表14-15所示。

表14-15 StreamWriter类方法信息

978-7-111-36370-5-Part03-188.jpg

看下面一段代码:

978-7-111-36370-5-Part03-189.jpg

上述代码的设计流程如下。

1)定义StreamWriter实例对象mm,设置向文件“e:\123.txt”内写入文本。

2)通过mm.WriteLine设置写入的文本是“你好,这是我写入的文本!!”。

3)如果有异常则通过catch语句输出对应提示。

4)写入成功则输出对应的“写入文本成功!”提示。

上述实例代码执行后,如果不存在文件“e:\123.txt”,则创建它,并写入文本“你好,这是我写入的文本!!”,并输出成功提示,如图14-8所示。如果文件存在,则在原来基础上写入上述文本,如果执行上述程序多次,则会写入多次上述文本。

2.StreamReader

和StreamWriter类相比,StreamReader类实现了另外一种读取文件数据的方法。使用StreamReader类的方式和StreamWriter类的基本相同,其主要属性信息如表14-16所示。

978-7-111-36370-5-Part03-190.jpg(www.xing528.com)

图14-8 写入成功提示

表14-16 StreamReader类属性信息

978-7-111-36370-5-Part03-191.jpg

StreamReader类的主要方法信息如表14-17所示。

表14-17 StreamReader类方法信息

978-7-111-36370-5-Part03-192.jpg

看下面一段代码:

978-7-111-36370-5-Part03-193.jpg

978-7-111-36370-5-Part03-194.jpg

上述代码的设计流程如下。

1)定义StreamReader实例对象mm,设置读取文件“e:\123.txt”内的文本内容。

2)通过mm.ReadToEnd读取文件流的全部内容,并将读取值赋给nn。

3)如果有异常则通过catch语句输出对应提示。

4)通过WriteLine()将读取的数据输出显示。

执行后将读取文件“e:\123.txt”的文本内容,并输出具体的内容,如图14-9所示;如果文件不存在,则输出对应的异常提示。

978-7-111-36370-5-Part03-195.jpg

图14-9 输出被读取文件的文本内容

从上述各执行代码可以看出,当从文本文件中读、写数据时,必须首先创建一个和被操作文件名相关的StreamReader和StreamWriter实例对象。每一个StreamReader和StreamWriter对象都与一种字符编码方式相关,指定读写文本是基于哪种字符编码来进行的。在没有明确指定的情况下,StreamReader和StreamWriter的默认编码是UTF8Encoding。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈