FileStream.Write Método

Definição

Sobrecargas

Name Description
Write(ReadOnlySpan<Byte>)

Escreve uma sequência de bytes de um intervalo de apenas leitura para o fluxo de ficheiros atual e avança a posição atual dentro desse fluxo pelo número de bytes escritos.

Write(Byte[], Int32, Int32)

Escreve um bloco de bytes no fluxo de ficheiros.

Write(ReadOnlySpan<Byte>)

Escreve uma sequência de bytes de um intervalo de apenas leitura para o fluxo de ficheiros atual e avança a posição atual dentro desse fluxo pelo número de bytes escritos.

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. Este método copia o conteúdo desta região para o fluxo de ficheiros atual.

Exceções

.NET 8 e versões posteriores: O tubo subjacente está fechado ou desligado.

Observações

Use a CanWrite propriedade para determinar se a instância atual suporta escrita. Use o WriteAsync método para escrever assíncronamente no fluxo atual.

Se a operação de escrita for bem-sucedida, a posição dentro do fluxo de ficheiros avança pelo número de bytes escritos. Se ocorrer uma exceção, a posição dentro do fluxo de ficheiros mantém-se inalterada.

Aplica-se a

Write(Byte[], Int32, Int32)

Escreve um bloco de bytes no fluxo de ficheiros.

public:
 override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public override void Write(byte[] array, int offset, int count);
override this.Write : byte[] * int * int -> unit
abstract member 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)

Parâmetros

array
Byte[]

O buffer que contém dados para escrever no fluxo.

offset
Int32

O deslocamento de bytes base em zero a array partir do qual começar a copiar bytes para o fluxo.

count
Int32

O número máximo de bytes a escrever.

Exceções

array é null.

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

offset ou count é negativo.

Ocorreu um erro de I/O.

-ou-

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

-ou-

.NET 8 e versões posteriores: O tubo subjacente está fechado ou desligado.

O riacho está fechado.

A instância atual do stream não suporta escrita.

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

Observações

Este método substitui o Write.

O offset parâmetro indica o deslocamento do byte em array (o índice do buffer) a partir do qual começar a copiar, e o count parâmetro indica o número de bytes que serão escritos no fluxo. Se a operação de escrita for bem-sucedida, a posição atual do fluxo é avançada pelo número de bytes escritos. Se ocorrer uma exceção, a posição atual do fluxo mantém-se inalterada.

Note

Use a CanWrite propriedade para determinar se a instância atual suporta escrita. Para obter informações adicionais, consulte CanWrite.

Não interrompa um thread que esteja a realizar uma operação de escrita. Embora a aplicação possa parecer correr com sucesso depois de a thread ser desbloqueada, a interrupção pode diminuir o desempenho e a fiabilidade da sua aplicação.

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

Ver também

Aplica-se a