Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Класс StreamWriter

 

Опубликовано: Октябрь 2016

Реализует TextWriter для записи символов в поток в определенной кодировке.

Просмотреть исходный код .NET Framework для этого типа Reference Source.

Пространство имен:   System.IO
Сборка:  mscorlib (в mscorlib.dll)


[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StreamWriter : TextWriter

ИмяОписание
System_CAPS_pubmethodStreamWriter(Stream)

Инициализирует новый экземпляр StreamWriter для указанного потока, используя кодировку UTF-8 и размер буфера по умолчанию.

System_CAPS_pubmethodStreamWriter(Stream, Encoding)

Инициализирует новый экземпляр StreamWriter для указанного потока, используя заданную кодировку и размер буфера по умолчанию.

System_CAPS_pubmethodStreamWriter(Stream, Encoding, Int32)

Инициализирует новый экземпляр StreamWriter для указанного потока, используя заданную кодировку и размер буфера.

System_CAPS_pubmethodStreamWriter(Stream, Encoding, Int32, Boolean)

Инициализирует новый экземпляр StreamWriter для указанного потока, используя заданную кодировку и размер буфера и при необходимости оставляет поток открытым.

System_CAPS_pubmethodStreamWriter(String)

Инициализирует новый экземпляр StreamWriter для указанного файла, используя кодировку и размер буфера.

System_CAPS_pubmethodStreamWriter(String, Boolean)

Инициализирует новый экземпляр StreamWriter для указанного файла, используя кодировку и размер буфера. Если файл существует, он может быть либо перезаписан, либо в него могут быть добавлены данные. Если файл не существует, конструктор создает новый файл.

System_CAPS_pubmethodStreamWriter(String, Boolean, Encoding)

Инициализирует новый экземпляр StreamWriter класса для указанного файла, используя указанный размер буфера кодирования и по умолчанию. Если файл существует, он может быть либо перезаписан, либо в него могут быть добавлены данные. Если файл не существует, конструктор создает новый файл.

System_CAPS_pubmethodStreamWriter(String, Boolean, Encoding, Int32)

Инициализирует новый экземпляр StreamWriter для указанного файла по заданному пути, используя заданную кодировку и размер буфера. Если файл существует, он может быть либо перезаписан, либо в него могут быть добавлены данные. Если файл не существует, конструктор создает новый файл.

ИмяОписание
System_CAPS_pubpropertyAutoFlush

Возвращает или задает значение, указывающее, является ли StreamWriter сбрасывать буфер в основной поток после каждого вызова StreamWriter.Write.

System_CAPS_pubpropertyBaseStream

Получает основной поток, связанный с резервным хранилищем.

System_CAPS_pubpropertyEncoding

Получает кодировку Encoding, в которой осуществляется запись выходных данных.(Переопределяет TextWriter.Encoding.)

System_CAPS_pubpropertyFormatProvider

Возвращает объект, управляющий форматированием.(Наследуется от TextWriter.)

System_CAPS_pubpropertyNewLine

Возвращает или задает признак конца строки, используемой текущим TextWriter.(Наследуется от TextWriter.)

ИмяОписание
System_CAPS_pubmethodClose()

Закрывает текущий StreamWriter объекта и основной поток.(Переопределяет TextWriter.Close().)

System_CAPS_pubmethodCreateObjRef(Type)

Создает объект, который содержит все необходимые сведения, необходимые для создания прокси-сервер, используемый для связи с удаленным объектом.(Наследуется от MarshalByRefObject.)

System_CAPS_pubmethodDispose()

Освобождает все ресурсы, используемые объектом TextWriter.(Наследуется от TextWriter.)

System_CAPS_protmethodDispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом StreamWriter, а при необходимости освобождает также управляемые ресурсы.(Переопределяет TextWriter.Dispose(Boolean).)

System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_protmethodFinalize()

Позволяет объекту попытаться освободить ресурсы и выполнить другие операции по очистке перед тем, как объект будет утилизирован сборщиком мусора. (Наследуется от Object.)

System_CAPS_pubmethodFlush()

Очищает все буферы для текущего средства записи и вызывает запись всех данных буфера в основной поток.(Переопределяет TextWriter.Flush().)

System_CAPS_pubmethodFlushAsync()

Асинхронно очищает все буферы для этого потока и вызывает запись всех буферизованных данных в базовое устройство.(Переопределяет TextWriter.FlushAsync().)

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodGetLifetimeService()

Возвращает объект службы текущее время существования, который управляет политикой времени существования данного экземпляра.(Наследуется от MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Получает объект службы времени существования для управления политикой времени существования данного экземпляра.(Наследуется от MarshalByRefObject.)

System_CAPS_protmethodMemberwiseClone()

Создает неполную копию текущего объекта Object.(Наследуется от Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Создает неполную копию текущего MarshalByRefObject объекта.(Наследуется от MarshalByRefObject.)

System_CAPS_pubmethodToString()

Возвращает строковое представление текущего объекта.
(Наследуется от Object.)

System_CAPS_pubmethodWrite(Boolean)

Записывает в текстовую строку или поток текстовое представление значения Boolean.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(Char)

Записывает символ в поток.(Переопределяет TextWriter.Write(Char).)

System_CAPS_pubmethodWrite(Char[])

Записывает в поток массив символов.(Переопределяет TextWriter.Write(Char[]).)

System_CAPS_pubmethodWrite(Char[], Int32, Int32)

Записывает в поток дочерний массив символов.(Переопределяет TextWriter.Write(Char[], Int32, Int32).)

System_CAPS_pubmethodWrite(Decimal)

Записывает текстовое представление десятичного значения в текстовую строку или поток.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(Double)

Записывает в текстовую строку или поток текстовое представление значения с плавающей запятой размером 8 байт.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(Int32)

Записывает в текстовую строку или поток текстовое представление целого числа со знаком размером 4 байта.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(Int64)

Записывает в текстовую строку или поток текстовое представление целого числа со знаком размером 8 байт.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(Object)

Записывает в текстовую строку или поток текстовое представление объекта с помощью вызова метода ToString для этого объекта.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(Single)

Записывает в текстовую строку или поток текстовое представление значения с плавающей запятой размером 4 байта.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(String)

Записывает строку в поток. (Переопределяет TextWriter.Write(String).)

System_CAPS_pubmethodWrite(String, Object)

Записывает форматированную строку в текстовую строку или поток, используя ту же семантику, что и метод String.Format(String, Object).(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(String, Object, Object)

Записывает форматированную строку в текстовую строку или поток, используя ту же семантику, что и метод String.Format(String, Object, Object).(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(String, Object, Object, Object)

Записывает форматированную строку в текстовую строку или поток, используя ту же семантику, что и метод String.Format(String, Object, Object, Object).(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(String, Object[])

Записывает форматированную строку в текстовую строку или поток, используя ту же семантику, что и метод String.Format(String, Object[]).(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(UInt32)

Записывает в текстовую строку или поток текстовое представление целого числа без знака размером 4 байта.(Наследуется от TextWriter.)

System_CAPS_pubmethodWrite(UInt64)

Записывает в текстовую строку или поток текстовое представление целого числа без знака размером 8 байт.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteAsync(Char)

Асинхронно записывает символ в поток.(Переопределяет TextWriter.WriteAsync(Char).)

System_CAPS_pubmethodWriteAsync(Char[])

Выполняет асинхронную запись массива символов в текстовую строку или поток.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteAsync(Char[], Int32, Int32)

Асинхронно записывает дочерний массив символов в поток.(Переопределяет TextWriter.WriteAsync(Char[], Int32, Int32).)

System_CAPS_pubmethodWriteAsync(String)

Асинхронно записывает строку в поток.(Переопределяет TextWriter.WriteAsync(String).)

System_CAPS_pubmethodWriteLine()

Записывает признак конца строки в текстовую строку или поток.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Boolean)

Записывает в текстовую строку или поток текстовое представление значения Boolean, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Char)

Записывает в текстовую строку или поток символ, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Char[])

Записывает в текстовую строку или поток массив символов, за которыми следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Char[], Int32, Int32)

Записывает в текстовую строку или поток дочерний массив символов, за которыми следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Decimal)

Записывает в текстовую строку или поток текстовое представление десятичного значения, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Double)

Записывает в текстовую строку или поток текстовое представление значения с плавающей запятой размером 8 байта, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Int32)

Записывает в текстовую строку или поток текстовое представление целого числа со знаком размером 4 байта, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Int64)

Записывает в текстовую строку или поток текстовое представление целого числа со знаком размером 8 байт, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Object)

Записывает в текстовую строку или поток текстовое представление объекта путем вызова метода ToString для этого объекта, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(Single)

Записывает в текстовую строку или поток текстовое представление значения с плавающей запятой размером 4 байта, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(String)

Записывает в текстовую строку или поток строку, за которой следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(String, Object)

Записывает форматированную строку и новую строку в текстовую строку или поток, используя ту же семантику, что и метод String.Format(String, Object).(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(String, Object, Object)

Записывает форматированную строку и новую строку в текстовую строку или поток, используя ту же семантику, что и метод String.Format(String, Object, Object).(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(String, Object, Object, Object)

Записывает отформатированную строку и новую строку, используя ту же семантику, что и Format.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(String, Object[])

Записывает отформатированную строку и новую строку, используя ту же семантику, что и Format.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(UInt32)

Записывает в текстовую строку или поток текстовое представление целого числа без знака размером 4 байта, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLine(UInt64)

Записывает в текстовую строку или поток текстовое представление целого числа без знака размером 8 байт, за которым следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLineAsync()

Асинхронно записывает в поток признак конца строки.(Переопределяет TextWriter.WriteLineAsync().)

System_CAPS_pubmethodWriteLineAsync(Char)

Асинхронно записывает в поток символ, за которым следует признак конца строки.(Переопределяет TextWriter.WriteLineAsync(Char).)

System_CAPS_pubmethodWriteLineAsync(Char[])

Асинхронно записывает в текстовую строку или поток массив символов, за которыми следует признак конца строки.(Наследуется от TextWriter.)

System_CAPS_pubmethodWriteLineAsync(Char[], Int32, Int32)

Асинхронного записывает в поток дочерний массив символов, за которыми следует признак конца строки.(Переопределяет TextWriter.WriteLineAsync(Char[], Int32, Int32).)

System_CAPS_pubmethodWriteLineAsync(String)

Асинхронно записывает в поток строку, за которой следует признак конца строки.(Переопределяет TextWriter.WriteLineAsync(String).)

ИмяОписание
System_CAPS_protfieldCoreNewLine

Сохраняет символы новой строки, используемые для данного TextWriter.(Наследуется от TextWriter.)

System_CAPS_pubfieldSystem_CAPS_staticNull

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

System_CAPS_noteПримечание

Чтобы просмотреть исходный код .NET Framework для этого типа, см. раздел Reference Source. Просмотр исходного кода в Интернете, загружаемом справочнике для автономного просмотра и пошагово источники (включая исправления и обновления) во время отладки; see instructions.

StreamWriter разработан для вывода знаков в определенной кодировке, тогда как классы, производные от Stream предназначены для ввода и вывода байтов.

System_CAPS_importantВажно

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

StreamWriter по умолчанию использует экземпляр UTF8Encoding Если не указано иное. Этот экземпляр UTF8Encoding создается без метку порядка следования байтов (BOM), поэтому его GetPreamble метод возвращает пустой массив байтов. Кодировка UTF-8 по умолчанию для данного конструктора возникает исключение при недопустимых байтов. Это поведение отличается от поведения, предоставляемые объектом кодирования в Encoding.UTF8 свойство. Чтобы указать Спецификации и определить, является ли исключение на недопустимые байты, используйте конструктор, который принимает объект кодировки в качестве параметра, такие как StreamWriter(String, Boolean, Encoding) или StreamWriter.

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

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

В следующем примере показано, как использовать StreamWriter объект для записи файл, который возвращает список каталогов на диске C, а затем использует StreamReader для чтения и отобразить имя каждого каталога. Рекомендуется использовать эти объекты в using инструкции, чтобы правильное освобождение неуправляемых ресурсов. using Оператор автоматически вызывает Dispose объекта после завершения код, который его использует. Конструктор, используемый в этом примере не поддерживается для использования в Магазин Windows приложений.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace StreamReadWrite
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get the directories currently on the C drive.
            DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories();

            // Write each directory name to a file.
            using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
            {
                foreach (DirectoryInfo dir in cDirs)
                {
                    sw.WriteLine(dir.Name);

                }
            }

            // Read and show each line from the file.
            string line = "";
            using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
            {
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
    }
}

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 1.1
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Windows Phone
Доступно с 8.1

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: