FileStream.Write Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| Write(ReadOnlySpan<Byte>) |
Grava uma sequência de bytes de um intervalo somente leitura para o fluxo de arquivos atual e avança a posição atual dentro desse fluxo de arquivos pelo número de bytes gravados. |
| Write(Byte[], Int32, Int32) |
Grava um bloco de bytes no fluxo de arquivos. |
Write(ReadOnlySpan<Byte>)
- Origem:
- FileStream.cs
- Origem:
- FileStream.cs
- Origem:
- FileStream.cs
- Origem:
- FileStream.cs
- Origem:
- FileStream.cs
Grava uma sequência de bytes de um intervalo somente leitura para o fluxo de arquivos atual e avança a posição atual dentro desse fluxo de arquivos pelo 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 de memória. Esse método copia o conteúdo dessa região para o fluxo de arquivos 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
- Origem:
- FileStream.cs
- Origem:
- FileStream.cs
Grava um bloco de bytes no fluxo de arquivos.
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 no array qual começar a copiar bytes para o fluxo.
- count
- Int32
O número máximo de bytes a serem gravados.
Exceções
array é null.
offset e count descrever 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 =
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 ficará inalterada.
Observação
Use a CanWrite propriedade para determinar se a instância atual dá suporte à gravação. Para obter informações adicionais, confira CanWrite.
Não interrompa um thread que esteja executando uma operação de gravação. Embora o aplicativo pareça ser executado com êxito após o desbloqueio do thread, 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.