导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

StreamWriter 类

2013/12/13

实现一个 TextWriter,使其以一种特定的编码向流中写入字符。

System.Object
  System.IO.TextWriter
    System.IO.StreamWriter

Namespace:  System.IO
程序集:  mscorlib(位于 mscorlib.dll 中)

public class StreamWriter : TextWriter

StreamWriter 类型公开以下成员。

  名称说明
公共方法StreamWriter(Stream)用 UTF-8 编码及默认缓冲区大小,为指定的流初始化 StreamWriter 类的一个新实例。
公共方法StreamWriter(String)使用默认编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。
公共方法StreamWriter(Stream, Encoding)用指定的编码及默认缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。
公共方法StreamWriter(String, Boolean)使用默认编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以将其覆盖或向其追加。如果该文件不存在,则此构造函数将创建一个新文件。
公共方法StreamWriter(Stream, Encoding, Int32)用指定的编码及缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。
公共方法StreamWriter(String, Boolean, Encoding)使用指定编码和默认缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以将其覆盖或向其追加。如果该文件不存在,则此构造函数将创建一个新文件。
公共方法StreamWriter(Stream, Encoding, Int32, Boolean)初始化指定流的 StreamWriter 类的新实例,使用指定的字节编码,缓冲区大小和指示是否打开流的值。
公共方法StreamWriter(String, Boolean, Encoding, Int32)使用指定编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以将其覆盖或向其追加。如果该文件不存在,则此构造函数将创建一个新文件。
返回顶部

  名称说明
公共属性AutoFlush获取或设置一个值,该值指示 StreamWriter 是否在每次调用 StreamWriter.Write 之后,将其缓冲区刷新到基础流。
公共属性BaseStream获取同后备存储区连接的基础流。
公共属性Encoding获取将输出写入到其中的 Encoding (重写 TextWriter.Encoding。)
公共属性FormatProvider获取控制格式设置的对象。 (从 TextWriter 继承。)
公共属性NewLine获取或设置由当前 TextWriter 使用的行结束符字符串。 (从 TextWriter 继承。)
返回顶部

  名称说明
公共方法Close关闭当前的 StreamWriter 对象和基础流。 (重写 TextWriter.Close()。)
公共方法Dispose()释放由 TextWriter 对象占用的所有资源。 (从 TextWriter 继承。)
受保护的方法Dispose(Boolean)释放 StreamWriter 占用的非托管资源,也可以选择释放托管资源。 (重写 TextWriter.Dispose(Boolean)。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法Flush清理当前编写器的所有缓冲区,并使所有缓冲数据写入基础流。 (重写 TextWriter.Flush()。)
公共方法FlushAsync异步清除此流的所有缓冲区并导致所有缓冲数据都写入基础设备中。 (重写 TextWriter.FlushAsync()。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法Write(Boolean)Boolean 值的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(Char)将字符写入流。 (重写 TextWriter.Write(Char)。)
公共方法Write(Char[])将字符数组写入流。 (重写 TextWriter.Write(Char[])。)
公共方法Write(Decimal)将十进制值的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(Double)将 8 字节浮点值的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(Int32)将 4 字节有符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(Int64)将 8 字节有符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(Object)通过在对象上调用 ToString 将此对象的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(Single)将 4 字节浮点值的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(String)将字符串写入流。 (重写 TextWriter.Write(String)。)
公共方法Write(UInt32)将 4 字节无符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(UInt64)将 8 字节无符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法Write(String, Object)使用与 String.Format 相同的语义写出格式化的字符串。 (从 TextWriter 继承。)
公共方法Write(String, Object[])使用与 String.Format 相同的语义写出格式化的字符串。 (从 TextWriter 继承。)
公共方法Write(Char[], Int32, Int32)将字符的子数组写入流。 (重写 TextWriter.Write(Char[], Int32, Int32)。)
公共方法Write(String, Object, Object)使用与 String.Format 相同的语义写出格式化的字符串。 (从 TextWriter 继承。)
公共方法WriteAsync(Char)将字符异步写入流。 (重写 TextWriter.WriteAsync(Char)。)
公共方法WriteAsync(Char[])将字符数组异步写入文本字符串或流。 (从 TextWriter 继承。)
公共方法WriteAsync(String)将字符串异步写入流。 (重写 TextWriter.WriteAsync(String)。)
公共方法WriteAsync(Char[], Int32, Int32)将字符的子数组异步写入流。 (重写 TextWriter.WriteAsync(Char[], Int32, Int32)。)
公共方法WriteLine()将行结束符写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Boolean)将后跟行结束符的 Boolean 的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Char)将后跟行结束符的字符写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Char[])将后跟行结束符的字符数组写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Decimal)将后面带有行结束符的十进制值的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Double)将后跟行结束符的 8 字节浮点值的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Int32)将后跟行结束符的 4 字节有符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Int64)将后跟行结束符的 8 字节有符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Object)通过在对象上调用 ToString 将后跟行结束符的此对象的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(Single)将后跟行结束符的 4 字节浮点值的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(String)将后跟行结束符的字符串写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(UInt32)将后跟行结束符的 4 字节无符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(UInt64)将后跟行结束符的 8 字节无符号整数的文本表示形式写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(String, Object)使用与 Format 相同的语义写出格式化的字符串和一个新行。 (从 TextWriter 继承。)
公共方法WriteLine(String, Object[])使用与 Format 相同的语义写出格式化的字符串和一个新行。 (从 TextWriter 继承。)
公共方法WriteLine(Char[], Int32, Int32)将后跟行结束符的字符子数组写入文本流。 (从 TextWriter 继承。)
公共方法WriteLine(String, Object, Object)使用与 Format 相同的语义写出格式化的字符串和一个新行。 (从 TextWriter 继承。)
公共方法WriteLineAsync()将行结束符异步写入流。 (重写 TextWriter.WriteLineAsync()。)
公共方法WriteLineAsync(Char)将后跟行结束符的字符异步写入流。 (重写 TextWriter.WriteLineAsync(Char)。)
公共方法WriteLineAsync(Char[])将后跟行结束符的字符数组异步写入文本字符串或流。 (从 TextWriter 继承。)
公共方法WriteLineAsync(String)将后跟行结束符的字符串异步写入流。 (重写 TextWriter.WriteLineAsync(String)。)
公共方法WriteLineAsync(Char[], Int32, Int32)将后跟行结束符的字符子数组异步写入流。 (重写 TextWriter.WriteLineAsync(Char[], Int32, Int32)。)
返回顶部

  名称说明
受保护的字段CoreNewLine存储用于此 TextWriter 的换行符。 (从 TextWriter 继承。)
公共字段静态成员Null提供 StreamWriter,它不带任何可写入但无法从中读取的后备存储区。
返回顶部

StreamWriter 旨在以一种特定的编码输出字符,而从 Stream 派生的类则用于字节的输入和输出。

StreamWriter 默认使用 UTF8Encoding 的实例,除非指定了其他编码。UTF8Encoding 的实例不使用字节顺序标记 (BOM) 创建,因此它的 GetPreamble 方法返回一个空字节数组。要使用 UTF-8 编码和 BOM 创建 StreamWriter,请考虑使用指定编码的构造函数,例如 StreamWriter(String, Boolean, Encoding)

默认情况下,StreamWriter 不是线程安全的。

下面的示例使用 StreamWriter 来将文本框控件(名为 inputData)的内容保存在用户的“我的文档”文件夹中。有关如何读取文件内容的示例,请参见 StreamReader 类。


private void SaveFile_Click(object sender, RoutedEventArgs e)
{
	// fileLoc is a global string variable, set in StreamReader example.
	using (StreamWriter sw = new StreamWriter(fileLoc, false))
	{
		sw.WriteLine(inputData.Text);
		inputData.Text = "";
		inputData.Visibility = Visibility.Collapsed;
	}
	
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2014 Microsoft