FileStream.Write Метод

Определение

Перегрузки

Write(ReadOnlySpan<Byte>)

Записывает последовательность байтов в текущий файловый поток из диапазона только для чтения и перемещает текущую позицию внутри файлового потока на число записанных байтов.

Write(Byte[], Int32, Int32)

Записывает блок байтов в файловый поток.

Write(ReadOnlySpan<Byte>)

Записывает последовательность байтов в текущий файловый поток из диапазона только для чтения и перемещает текущую позицию внутри файлового потока на число записанных байтов.

public:
 override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))

Параметры

buffer
ReadOnlySpan<Byte>

Область памяти. Этот метод копирует содержимое данной области в текущий файловый поток.

Комментарии

Используйте CanWrite свойство, чтобы определить, поддерживает ли текущий экземпляр запись. Используйте WriteAsync метод для асинхронной записи в текущий поток.

Если операция записи выполнена успешно, расположение в потоке файлов увеличивается на число записанных байтов. При возникновении исключения расположение в потоке файла остается неизменным.

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

Write(Byte[], Int32, Int32)

Записывает блок байтов в файловый поток.

public:
 override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write (byte[] array, int offset, int count);
public override void Write (byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (array As Byte(), offset As Integer, count As Integer)
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)

Параметры

arraybuffer
Byte[]

Буфер, содержащий данные для записи в поток.

offset
Int32

Смещение байтов (начиная с нуля) в array, с которого начинается копирование байтов в поток.

count
Int32

Максимальное число байтов для записи.

Исключения

array имеет значение null.

offset и count описывают недопустимый диапазон в array.

offset или count является отрицательным значением.

Ошибка ввода/вывода.

-или-

Возможно, другой поток вызвал непредвиденное изменение положения дескриптора файла операционной системы.

Поток закрыт.

Текущий экземпляр потока не поддерживает запись.

Примеры

Этот пример кода является частью большого примера, приведенного для Lock метода.

// Write the original file data.
if ( fileStream->Length == 0 )
{
   tempString = String::Concat( lastRecordText, recordNumber.ToString() );
   fileStream->Write( uniEncoding->GetBytes( tempString ), 0, uniEncoding->GetByteCount( tempString ) );
}
// Write the original file data.
if(fileStream.Length == 0)
{
    tempString =
        lastRecordText + recordNumber.ToString();
    fileStream.Write(uniEncoding.GetBytes(tempString),
        0, uniEncoding.GetByteCount(tempString));
}
' Write the original file data.
If aFileStream.Length = 0 Then
    tempString = _
        lastRecordText + recordNumber.ToString()
    aFileStream.Write(uniEncoding.GetBytes(tempString), _
        0, uniEncoding.GetByteCount(tempString))
End If

Комментарии

Этот метод переопределяет метод Write.

offsetПараметр задает смещение байта в array (индекс буфера), с которого начинается копирование, а count параметр задает число байтов, которые будут записаны в поток. Если операция записи выполнена успешно, текущее расположение потока увеличивается на число записанных байтов. При возникновении исключения текущее расположение потока не изменяется.

Примечание

Используйте CanWrite свойство, чтобы определить, поддерживает ли текущий экземпляр запись. Дополнительные сведения см. в разделе CanWrite.

Не прерывайте поток, выполняющий операцию записи. Несмотря на то, что приложение может быть успешно запущено после разблокировки потока, прерывание может снизить производительность и надежность приложения.

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

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

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