Поделиться через


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

Комментарии

TextWriter является абстрактным базовым классом StreamWriter и StringWriter, который записывает символы в потоки и строки соответственно. Используйте экземпляр TextWriter для записи объекта в строку, записи строк в файл или сериализации XML. Можно также использовать экземпляр TextWriter для записи текста в пользовательское хранилище резервной копии с помощью тех же API, которые вы будете использовать для строки или потока, или для добавления поддержки форматирования текста.

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

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

Важный

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

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

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

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

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

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

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