FileStream.Write Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.