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


BufferedStream.Write Метод

Определение

Перегрузки

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

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

Write(Byte[], Int32, Int32)

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

Write(ReadOnlySpan<Byte>)

Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.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>

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

Комментарии

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

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

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

Write(Byte[], Int32, Int32)

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

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

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

Параметры

bufferarray
Byte[]
offset
Int32

Смещение в буфере, с которого начинается копирование байтов в текущий буферный поток.

count
Int32

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

Исключения

Длина минуса arrayoffset меньше count.

array равно null.

offset или count отрицательный.

Поток закрыт или null.

Поток не поддерживает запись.

Методы были вызваны после закрытия потока.

Примеры

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

// Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.");
startTime = DateTime.Now;
for(int i = 0; i < numberOfLoops; i++)
{
    bufStream.Write(dataToSend, 0, dataToSend.Length);
}
bufStream.Flush();
bufferedTime = (DateTime.Now - startTime).TotalSeconds;
Console.WriteLine("{0} bytes sent in {1} seconds.\n",
    numberOfLoops * dataToSend.Length,
    bufferedTime.ToString("F1"));
// Send the data using the BufferedStream.
printfn "Sending data using BufferedStream."
let startTime = DateTime.Now
for _ = 0 to numberOfLoops - 1 do
    bufStream.Write(dataToSend, 0, dataToSend.Length)
bufStream.Flush()
let bufferedTime = (DateTime.Now - startTime).TotalSeconds
printfn $"{numberOfLoops * dataToSend.Length} bytes sent in {bufferedTime:F1} seconds.\n"
' Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.")
startTime = DateTime.Now
For i As Integer = 1 To numberOfLoops
    bufStream.Write(dataToSend, 0, dataToSend.Length)
Next i

bufStream.Flush()
bufferedTime = DateTime.Now.Subtract(startTime).TotalSeconds
Console.WriteLine("{0} bytes sent In {1} seconds." & vbCrLf, _
    numberOfLoops * dataToSend.Length, _
    bufferedTime.ToString("F1"))

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

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