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.
Не прерывайте поток, выполняющий операцию записи. Хотя приложение может успешно запуститься после разблокировки потока, прерывание может снизить производительность и надежность приложения.
Список общих операций с файлами и каталогами см. в разделе "Общие задачи ввода-вывода".
См. также раздел
- Операции ввода-вывода файлов и потоковой передачи данных
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл