定义

命名空间:
System.IO
程序集:
System.Runtime.dll
表示可以编写一个有序字符系列的编写器。 此类为抽象类。

本文内容

  1. 定义
  2. 示例
  3. 注解
  4. 实施者说明
  5. 构造函数
  6. 字段
  7. 属性
  8. 方法
  9. 扩展方法
  10. 适用于
  11. 另请参阅
    1. public abstract class TextWriter : MarshalByRefObject, IAsyncDisposable, IDisposable
    继承
    TextWriter
    Object
    MarshalByRefObject
    派生
    System.CodeDom.Compiler.IndentedTextWriter
    System.IO.StreamWriter
    System.IO.StringWriter
    System.Web.HttpWriter
    System.Web.UI.HtmlTextWriter
    实现
    IDisposable IAsyncDisposable

    示例

    类是一个抽象类。 因此,不会在代码中实例化它。 该 StreamWriter 类派生自 TextWriter 成员的实现,用于写入流。 以下示例演示如何使用 WriteLineAsync(String)) 该方法将字符串值组成的两行写入文本文件。 ```csharp using System.IO;

namespace ConsoleApplication { class Program4 { static void Main() { WriteCharacters(); }

  1. static async void WriteCharacters()
  2. {
  3. using (StreamWriter writer = File.CreateText("newfile.txt"))
  4. {
  5. await writer.WriteLineAsync("First line of example");
  6. await writer.WriteLineAsync("and second line");
  7. }
  8. }
  9. }

} ```

注解

TextWriter是抽象基类StreamWriterStringWriter,分别将字符写入流和字符串。 创建将对象写入字符串、将字符串写入文件或序列化 XML 的实例 TextWriter 。 还可以使用用于字符串或流的相同 API 将文本写入自定义后盾存储的实例 TextWriter ,或者添加对文本格式的支持。
Write将基元数据类型作为参数的所有方法TextWriter将值写为字符串。
默认情况下,线程 TextWriter 不安全。 请参阅 TextWriter.Synchronized 线程安全的包装器。
重要
此类型实现 IDisposable 接口。 使用从此类型派生的任何类型后,应直接或间接释放它。 若要直接释放类型,请在 try/catch 块中调用其 Dispose 方法。 若要间接释放类型,请使用 using(在 C# 中)或 Using(在 Visual Basic 中)等语言构造。 有关详细信息,请参阅接口主题中的 IDisposable Dispose 和“使用实现 IDisposable 的对象”部分。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

实施者说明

派生类必须尽量减少实现 Write(Char)) 方法,才能创建一个有用的实例 TextWriter

构造函数

TextWriter() 初始化 TextWriter 类的新实例。
TextWriter(IFormatProvider)) 使用指定的格式提供程序初始化 TextWriter 类的新实例。

字段

CoreNewLine 存储用于此 TextWriter 的换行符。
Null 提供 TextWriter,它不带任何可写入但无法从中读取的后备存储。

属性

Encoding 当在派生类中重写时,返回用来写输出的该字符编码。
FormatProvider 获取控制格式设置的对象。
NewLine 获取或设置由当前 TextWriter 使用的行结束符字符串。

方法

Close() 关闭当前编写器并释放任何与该编写器关联的系统资源。
CreateObjRef(Type)) 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
(继承自 MarshalByRefObject)
Dispose() 释放由 TextWriter 对象使用的所有资源。
Dispose(Boolean)) 释放由 TextWriter 占用的非托管资源,还可以另外再释放托管资源。
DisposeAsync() 异步释放由 TextWriter 对象使用的所有资源。
Equals(Object)) 确定指定对象是否等于当前对象。
(继承自 Object)
Flush() 清理当前编写器的所有缓冲区,使所有缓冲数据写入基础设备。
FlushAsync() 异步清理当前编写器的所有缓冲区,使所有缓冲数据写入基础设备。
GetHashCode() 作为默认哈希函数。
(继承自 Object)
GetLifetimeService() 已过时。
检索控制此实例的生存期策略的当前生存期服务对象。
(继承自 MarshalByRefObject)
GetType() 获取当前实例的 Type
(继承自 Object)
InitializeLifetimeService() 已过时。
获取生存期服务对象来控制此实例的生存期策略。
(继承自 MarshalByRefObject)
MemberwiseClone() 创建当前 Object 的浅表副本。
(继承自 Object)
MemberwiseClone(Boolean)) 创建当前 MarshalByRefObject 对象的浅表副本。
(继承自 MarshalByRefObject)
Synchronized(TextWriter)) 在指定的 TextWriter 周围创建线程安全包装。
ToString() 返回表示当前对象的字符串。
(继承自 Object)
Write(Boolean)) 将 Boolean 值的文本表示形式写入文本流。
Write(Char)) 将字符写入文本流。
Write(Char[]))) 将字符数组写入文本流。
Write(Char[], Int32, Int32)-system-int32-system-int32)) 将字符的子数组写入文本流。
Write(Decimal)) 将小数值的文本表示形式写入文本流。
Write(Double)) 将 8 字节浮点值的文本表示形式写入文本流。
Write(Int32)) 将 4 字节带符号整数的文本表示形式写入文本流。
Write(Int64)) 将 8 字节带符号整数的文本表示形式写入文本流。
Write(Object)) 通过在对象上调用 ToString 方法将此对象的文本表示形式写入文本流。
Write(ReadOnlySpan)))) 将字符范围写入文本流。
Write(Single)) 将 4 字节浮点值的文本表示形式写入文本流。
Write(String)) 将字符串写入文本流。
Write(String, Object)) 使用与 Format(String, Object)) 方法相同的语义将格式化字符串写入文本流。
Write(String, Object, Object)) 使用与 Format(String, Object, Object)) 方法相同的语义将格式化字符串写入文本流。
Write(String, Object, Object, Object)) 使用与 Format(String, Object, Object, Object)) 方法相同的语义将格式化字符串写入文本流。
Write(String, Object[]))) 使用与 Format(String, Object[]))) 方法相同的语义将格式化字符串写入文本流。
Write(StringBuilder)) 将字符串生成器写入文本流。
Write(UInt32)) 将 4 字节无符号整数的文本表示形式写入文本流。
Write(UInt64)) 将 8 字节无符号整数的文本表示形式写入文本流。
WriteAsync(Char)) 将字符异步写入文本流。
WriteAsync(Char[]))) 将字符数组异步写入文本流。
WriteAsync(Char[], Int32, Int32)-system-int32-system-int32)) 以异步形式将字符的子数组写入文本流。
WriteAsync(ReadOnlyMemory, CancellationToken))-system-threading-cancellationtoken)) 以异步形式将字符内存区域写入文本流。
WriteAsync(String)) 将字符串异步写入文本流。
WriteAsync(StringBuilder, CancellationToken)) 以异步形式将字符串生成器写入文本流。
WriteLine() 将行终止符写入文本流。
WriteLine(Boolean)) 将 Boolean 值的文本表示形式写入文本流,后跟行终止符。
WriteLine(Char)) 将字符写入文本流,后跟行终止符。
WriteLine(Char[]))) 将字符数组写入文本流,后跟行终止符。
WriteLine(Char[], Int32, Int32)-system-int32-system-int32)) 将字符子数组写入文本流,后跟行终止符。
WriteLine(Decimal)) 将小数值的文本表示形式写入文本流,后跟行终止符。
WriteLine(Double)) 将 8 字节浮点值的文本表示形式写入文本流,后跟行终止符。
WriteLine(Int32)) 将 4 字节带符号整数的文本表示形式写入文本流,后跟行终止符。
WriteLine(Int64)) 将 8 字节带符号整数的文本表示形式写入文本流,后跟行终止符。
WriteLine(Object)) 通过在对象上调用 ToString 方法将此对象的文本表示形式写入文本流,后跟行终止符。
WriteLine(ReadOnlySpan)))) 将字符范围的文本表示形式写入文本流,后跟行终止符。
WriteLine(Single)) 将 4 字节浮点值的文本表示形式写入文本流,后跟行终止符。
WriteLine(String)) 将字符串写入文本流,后跟行终止符。
WriteLine(String, Object)) 使用与 Format(String, Object)) 方法相同的语义将格式化字符串和新行写入文本流。
WriteLine(String, Object, Object)) 使用与 Format(String, Object, Object)) 方法相同的语义将格式化字符串和新行写入文本流。
WriteLine(String, Object, Object, Object)) 使用与 Format(String, Object)) 相同的语义将格式化字符串和新行写入文本流。
WriteLine(String, Object[]))) 使用与 Format(String, Object)) 相同的语义将格式化字符串和新行写入文本流。
WriteLine(StringBuilder)) 将字符串生成器的文本表示形式写入文本流,后跟行终止符。
WriteLine(UInt32)) 将 4 字节无符号整数的文本表示形式写入文本流,后跟行终止符。
WriteLine(UInt64)) 将 8 字节无符号整数的文本表示形式写入文本流,后跟行终止符。
WriteLineAsync() 以异步形式将行终止符写入文本流。
WriteLineAsync(Char)) 以异步形式将字符写入文本流,后跟行终止符。
WriteLineAsync(Char[]))) 以异步形式将字符数组写入文本流,后跟行终止符。
WriteLineAsync(Char[], Int32, Int32)-system-int32-system-int32)) 以异步形式将字符子数组写入文本流,后跟行终止符。
WriteLineAsync(ReadOnlyMemory, CancellationToken))-system-threading-cancellationtoken)) 以异步形式将字符内存区域的文本表示形式写入文本流,后跟行终止符。
WriteLineAsync(String)) 以异步形式将字符串写入文本流,后跟行终止符。
WriteLineAsync(StringBuilder, CancellationToken)) 以异步形式将字符串生成器的文本表示形式写入文本流,后跟行终止符。

扩展方法

ConfigureAwait(IAsyncDisposable, Boolean)) 配置如何执行从异步可处置项返回的任务的等待。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 Preview 5
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0
Xamarin.iOS 10.8
Xamarin.Mac 3.0

另请参阅


建议的内容