Partilhar via


FileStream.Write Método

Definição

Sobrecargas

Write(ReadOnlySpan<Byte>)

Grava uma sequência de bytes de um intervalo somente leitura no fluxo de arquivo atual e avança a posição atual nesse fluxo de arquivo até o número de bytes gravados.

Write(Byte[], Int32, Int32)

Grava um bloco de bytes no fluxo de arquivo.

Write(ReadOnlySpan<Byte>)

Origem:
FileStream.cs
Origem:
FileStream.cs
Origem:
FileStream.cs

Grava uma sequência de bytes de um intervalo somente leitura no fluxo de arquivo atual e avança a posição atual nesse fluxo de arquivo até o número de bytes gravados.

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))

Parâmetros

buffer
ReadOnlySpan<Byte>

Uma região da memória. Esse método copia o conteúdo dessa região para o fluxo de arquivo atual.

Exceções

.NET 8 e versões posteriores: o pipe subjacente está fechado ou desconectado.

Comentários

Use a CanWrite propriedade para determinar se a instância atual dá suporte à gravação. Use o WriteAsync método para gravar de forma assíncrona no fluxo atual.

Se a operação de gravação for bem-sucedida, a posição dentro do fluxo de arquivos avançará pelo número de bytes gravados. Se ocorrer uma exceção, a posição dentro do fluxo de arquivos permanecerá inalterada.

Aplica-se a

Write(Byte[], Int32, Int32)

Origem:
FileStream.cs
Origem:
FileStream.cs
Origem:
FileStream.cs

Grava um bloco de bytes no fluxo de arquivo.

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)

Parâmetros

arraybuffer
Byte[]

O buffer que contém dados a serem gravados no fluxo.

offset
Int32

O deslocamento de bytes baseado em zero em array do qual será iniciada a cópia de bytes no fluxo.

count
Int32

O número máximo de bytes a serem gravados.

Exceções

array é null.

offset e count descrevem um intervalo inválido em array.

offset ou count é negativo.

Ocorreu um erro de E/S.

- ou -

Outro thread pode ter causado uma alteração inesperada na posição do identificador de arquivo do sistema operacional.

-ou-

.NET 8 e versões posteriores: o pipe subjacente está fechado ou desconectado.

O fluxo está fechado.

A instância de fluxo atual não dá suporte à gravação.

Exemplos

Este exemplo de código faz parte de um exemplo maior fornecido para o Lock método .

// 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

Comentários

Este método substitui Write.

O offset parâmetro fornece o deslocamento do byte em array (o índice de buffer) no qual começar a copiar e o count parâmetro fornece o número de bytes que serão gravados no fluxo. Se a operação de gravação for bem-sucedida, a posição atual do fluxo será avançada pelo número de bytes gravados. Se ocorrer uma exceção, a posição atual do fluxo permanecerá inalterada.

Observação

Use a CanWrite propriedade para determinar se a instância atual dá suporte à gravação. Para obter mais informações, consulte: CanWrite.

Não interrompa um thread que esteja executando uma operação de gravação. Embora o aplicativo pareça ser executado com êxito depois que o thread é desbloqueado, a interrupção pode diminuir o desempenho e a confiabilidade do aplicativo.

Para obter uma lista de operações comuns de arquivo e diretório, consulte Tarefas comuns de E/S.

Confira também

Aplica-se a