FileStream.Write Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Write(ReadOnlySpan<Byte>) |
Записывает последовательность байтов в текущий файловый поток из диапазона только для чтения и перемещает текущую позицию внутри файлового потока на число записанных байтов. |
Write(Byte[], Int32, Int32) |
Записывает блок байтов в файловый поток. |
- Исходный код:
- 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 асинхронной записи в текущий поток.
Если операция записи выполнена успешно, позиция в потоке файлов увеличивается на количество записанных байтов. Если возникает исключение, позиция в потоке файлов остается неизменной.
Применяется к
.NET 9 және басқа нұсқалар
Өнім | Нұсқалар |
---|---|
.NET | Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Standard | 2.1 |
- Исходный код:
- 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 = 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 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.
Не прерывайте поток, выполняющий операцию записи. Несмотря на то, что после разблокировки потока приложение может успешно работать, прерывание может снизить производительность и надежность приложения.
Список распространенных операций с файлами и каталогами см. в разделе Общие задачи ввода-вывода.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
.NET 9 және басқа нұсқалар
Өнім | Нұсқалар |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET кері байланысы
.NET — бастапқы коды ашық жоба. Пікір қалдыру үшін сілтемені таңдаңыз: