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"))
См. также раздел
- CanWrite
- Read(Byte[], Int32, Int32)
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл