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) метода.

Переопределение Dispose в производном классе для предоставления

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

Комментарии

TextWriter является абстрактным базовым классом для StreamWriter и StringWriter , который записывает символы в потоки и строки соответственно. Создание экземпляра TextWriter для записи объекта в строку, записи строк в файл или СЕРИАЛИЗАЦИИ XML. Кроме того, экземпляр можно использовать TextWriter для записи текста в пользовательское резервное хранилище с помощью тех же интерфейсов API, которые использовались для строки или потока, или для добавления поддержки форматирования текста.

Все Write методы, TextWriter имеющие примитивные типы данных в качестве параметров, записывают значения в виде строк.

По умолчанию объект не TextWriter является потокобезопасным. См TextWriter.Synchronized . раздел для потокобезопасной оболочки.

Важно!

Этот тип реализует интерфейс IDisposable. После завершения использования любого типа, производного от этого типа, следует удалить его прямо или косвенно. Чтобы сделать это прямо, вызовите его метод Dispose в блоке try/catch. Чтобы сделать это косвенно, используйте языковые конструкции, такие как using (в C#) или Using (в Visual Basic). Дополнительные сведения см. в разделе Dispose и «использование объекта, реализующего IDisposable» раздела IDisposable Interface.

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

Примечания для тех, кто реализует этот метод

Производный класс должен как минимум реализовать 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)

Записывает подмассив символов в текстовый поток.

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

Настраивает способ выполнения ожиданий для задач, возвращаемых из асинхронного высвобождаемого объекта.

Применяется к

См. также раздел