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


FileStream.Write Метод

Определение

Перегрузки

Имя Описание
Write(ReadOnlySpan<Byte>)

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

Write(Byte[], Int32, Int32)

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

Write(ReadOnlySpan<Byte>)

Исходный код:
FileStream.cs
Исходный код:
FileStream.cs
Исходный код:
FileStream.cs
Исходный код:
FileStream.cs
Исходный код:
FileStream.cs

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

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>

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

Исключения

.NET 8 и более поздних версий: базовый канал закрыт или отключен.

Комментарии

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

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

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

Write(Byte[], Int32, Int32)

Исходный код:
FileStream.cs
Исходный код:
FileStream.cs
Исходный код:
FileStream.cs
Исходный код:
FileStream.cs
Исходный код:
FileStream.cs

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

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 отрицательный.

Произошла ошибка ввода-вывода.

–или–

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

–или–

.NET 8 и более поздних версий: базовый канал закрыт или отключен.

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

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

Примеры

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

// 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 fileStream.Length = 0 then
    let tempString = lastRecordText + string recordNumber
    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.

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

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

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

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