TextWriter 类

定义

表示可以编写一系列连续字符的编写器。 此类是抽象的。

public ref class TextWriter abstract : IDisposable
public ref class TextWriter abstract : MarshalByRefObject, IAsyncDisposable, IDisposable
public ref class TextWriter abstract : MarshalByRefObject, IDisposable
public abstract class TextWriter : IDisposable
public abstract class TextWriter : MarshalByRefObject, IAsyncDisposable, IDisposable
public abstract class TextWriter : MarshalByRefObject, IDisposable
[System.Serializable]
public abstract class TextWriter : MarshalByRefObject, IDisposable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class TextWriter : MarshalByRefObject, IDisposable
type TextWriter = class
    interface IDisposable
type TextWriter = class
    inherit MarshalByRefObject
    interface IAsyncDisposable
    interface IDisposable
type TextWriter = class
    inherit MarshalByRefObject
    interface IDisposable
[<System.Serializable>]
type TextWriter = class
    inherit MarshalByRefObject
    interface IDisposable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TextWriter = class
    inherit MarshalByRefObject
    interface IDisposable
Public MustInherit Class TextWriter
Implements IDisposable
Public MustInherit Class TextWriter
Inherits MarshalByRefObject
Implements IAsyncDisposable, IDisposable
Public MustInherit Class TextWriter
Inherits MarshalByRefObject
Implements IDisposable
继承
TextWriter
继承
派生
属性
实现

示例

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

using System.IO;

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

        static async void WriteCharacters()
        {
            using (StreamWriter writer = File.CreateText("newfile.txt"))
            {
                await writer.WriteLineAsync("First line of example");
                await writer.WriteLineAsync("and second line");
            }
        }
    }
}
Imports System.IO
Imports System.Text

Module Module1

    Sub Main()
        WriteCharacters()
    End Sub

    Async Sub WriteCharacters()
        Using writer As StreamWriter = File.CreateText("newfile.txt")
            Await writer.WriteLineAsync("First line of example")
            Await writer.WriteLineAsync("and second line")
        End Using
    End Sub
End Module

注解

TextWriterStreamWriterStringWriter的抽象基类,分别将字符写入流和字符串。 使用 TextWriter 实例将对象写入字符串、将字符串写入文件或序列化 XML。 还可以使用 TextWriter 实例,使用用于字符串或流的相同 API 将文本写入自定义后盾存储,或者添加对文本格式的支持。

所有 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()

关闭当前编写器并释放与编写器关联的任何系统资源。

CreateBroadcasting(TextWriter[])

创建一个 TextWriter 实例,该实例向 writers中的每个编写器写入提供的输入。

CreateObjRef(Type)

创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放 TextWriter 对象使用的所有资源。

Dispose(Boolean)

释放 TextWriter 使用的非托管资源,并选择性地释放托管资源。

DisposeAsync()

异步释放 TextWriter 对象使用的所有资源。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
Flush()

清除当前编写器的所有缓冲区,并导致任何缓冲数据写入基础设备。

FlushAsync()

异步清除当前编写器的所有缓冲区,并导致任何缓冲数据写入基础设备。

FlushAsync(CancellationToken)

异步清除当前编写器的所有缓冲区,并导致任何缓冲数据写入基础设备。

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)

将字符的子数组写入文本流。

Write(Decimal)

将小数值的文本表示形式写入文本流。

Write(Double)

将 8 字节浮点值的文本表示形式写入文本流。

Write(Int32)

将 4 字节带符号整数的文本表示形式写入文本流。

Write(Int64)

将 8 字节有符号整数的文本表示形式写入文本流。

Write(Object)

通过对该对象调用 ToString 方法,将对象的文本表示形式写入文本流。

Write(ReadOnlySpan<Char>)

将字符范围写入文本流。

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(String, ReadOnlySpan<Object>)

使用与 Format(String, ReadOnlySpan<Object>)相同的语义将格式化字符串写入文本流。

Write(StringBuilder)

将字符串生成器写入文本流。

Write(UInt32)

将 4 字节无符号整数的文本表示形式写入文本流。

Write(UInt64)

将 8 字节无符号整数的文本表示形式写入文本流。

WriteAsync(Char)

以异步方式将字符写入文本流。

WriteAsync(Char[])

以异步方式将字符数组写入文本流。

WriteAsync(Char[], Int32, Int32)

以异步方式将字符的子数组写入文本流。

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

将字符内存区域异步写入文本流。

WriteAsync(String)

以异步方式将字符串写入文本流。

WriteAsync(StringBuilder, CancellationToken)

将字符串生成器异步写入文本流。

WriteLine()

将行终止符写入文本流。

WriteLine(Boolean)

Boolean 值的文本表示形式写入文本流,后跟行终止符。

WriteLine(Char)

将字符写入文本流,后跟行终止符。

WriteLine(Char[])

将字符数组写入文本流,后跟行终止符。

WriteLine(Char[], Int32, Int32)

将字符的子数组写入文本流,后跟行终止符。

WriteLine(Decimal)

将小数值的文本表示形式写入文本流,后跟行终止符。

WriteLine(Double)

将 8 字节浮点值的文本表示形式写入文本流,后跟行终止符。

WriteLine(Int32)

将 4 字节带符号整数的文本表示形式写入文本流,后跟行终止符。

WriteLine(Int64)

将 8 字节有符号整数的文本表示形式写入文本流,后跟行终止符。

WriteLine(Object)

通过对该对象调用 ToString 方法,然后调用行终止符,将对象的文本表示形式写入文本流。

WriteLine(ReadOnlySpan<Char>)

将字符范围的文本表示形式写入文本流,后跟行终止符。

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(String, ReadOnlySpan<Object>)

使用与 Format(String, ReadOnlySpan<Object>)相同的语义,将格式化字符串和新行写出文本流。

WriteLine(StringBuilder)

将字符串生成器的文本表示形式写入文本流,后跟行终止符。

WriteLine(UInt32)

将 4 字节无符号整数的文本表示形式写入文本流,后跟行终止符。

WriteLine(UInt64)

将 8 字节无符号整数的文本表示形式写入文本流,后跟行终止符。

WriteLineAsync()

将行终止符异步写入文本流。

WriteLineAsync(Char)

将字符异步写入文本流,后跟行终止符。

WriteLineAsync(Char[])

将字符数组异步写入文本流,后跟行终止符。

WriteLineAsync(Char[], Int32, Int32)

将字符的子数组异步写入文本流,后跟行终止符。

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

将字符内存区域的文本表示形式异步写入文本流,后跟行终止符。

WriteLineAsync(String)

将字符串异步写入文本流,后跟行终止符。

WriteLineAsync(StringBuilder, CancellationToken)

以异步方式将字符串生成器的文本表示形式写入文本流,后跟行终止符。

显式接口实现

IDisposable.Dispose()

有关此成员的说明,请参阅 Dispose()

扩展方法

ConfigureAwait(IAsyncDisposable, Boolean)

配置如何执行从异步可释放项返回的任务的 await。

适用于

另请参阅