C#文件处理技术:StreamWriter使用方法|实例
StreamWriter
StreamWriter是专门用来处理文本文件的类,可以方便地向文本文件中写入字符串。同时也负责重要的转换和处理向FileStream对象写入的工作。
1.StreamWriter类的常用属性
StreamWriter类的常用属性及说明如表1所示。

表1 StreamWriter类的常用属性及说明
Encoding属性:获取将输出写入到其中的 Encoding。
语法:
public override Encoding Encoding { get; }
属性值:用来写入输出的 Encoding。
2.StreamWriter类的常用方法
StreamWriter类的常用方法及说明如表2所示。

表2 StreamWriter类的常用方法及说明
下面对StreamWriter类中比较重要的方法进行详细介绍。
(1)Close ()方法。关闭当前的 StringWriter 和基础流。
语法:
public override void Close ()
在创建和使用完一个StringWriter后,一定要将其及时关闭。
(2)Flush ()方法。清理当前编写器的所有缓冲区,使所有缓冲数据写入基础设备。
语法:
public virtual void Flush ()
在调用Close ()方法之前调用Flush ()方法,可以将以前写入缓冲区的任何数据都复制到文件中。
(3)WriteLine 方法。将行结束符写入文本流。
语法:
public virtual void WriteLine ()
返回值:默认行结束符是后跟换行符的回车符(“rn”),但使用NewLine属性可以更改此值。
StreamWriter有两个最重要、最常用的方法,一个是Write()方法,另一个是WriteLine()方法。这两个方法都是用来向文本文件中写入字符串的,但二者也有区别。WriteLine()只用于字符串,并且会自动追加一个换行符(回车换行)。Write()不追加换行符,可以向文本流写入字符串,也可以写任何基本数据类型(int32、single等等)的文本形式。下面的示例实现了通过StreamWriter对象向文本文件“hb.txt”中写入字符串的功能。
using System;
using System.IO;
class StreamWriterTest
{
public static void Main()
{
using (StreamWriter sw = new StreamWriter("hb.txt"))
{
sw.Write("This is the ");
sw.WriteLine("header for the file.");
sw.WriteLine("-------------------");
sw.Write("The date is: ");
sw.WriteLine(DateTime.Now);
}
}
}
注意:使用StreamWriter时,应在使用完毕时调用Close()方法将其关闭。在实例化StreamWriter类对象时使用using()语句实例化StreamWriter类对象可以使对象在使用完毕后自动释放。因此可以省去调用Close()方法。