Compartir a través de


FileStream.Write Método

Definición

Sobrecargas

Write(ReadOnlySpan<Byte>)

Escribe una secuencia de bytes en un intervalo de solo lectura en la secuencia de archivo actual y avanza la posición actual en esta secuencia de archivo según el número de bytes escritos.

Write(Byte[], Int32, Int32)

Escribe un bloque de bytes en la secuencia de archivo.

Write(ReadOnlySpan<Byte>)

Source:
FileStream.cs
Source:
FileStream.cs
Source:
FileStream.cs

Escribe una secuencia de bytes en un intervalo de solo lectura en la secuencia de archivo actual y avanza la posición actual en esta secuencia de archivo según el 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>

Región de memoria. Este método copia el contenido de esta región en la secuencia de archivo actual.

Excepciones

.NET 8 y versiones posteriores: la canalización subyacente está cerrada o desconectada.

Comentarios

Use la CanWrite propiedad para determinar si la instancia actual admite la escritura. Use el WriteAsync método para escribir de forma asincrónica en la secuencia actual.

Si la operación de escritura se realiza correctamente, la posición dentro de la secuencia de archivos avanza por el número de bytes escritos. Si se produce una excepción, la posición dentro de la secuencia de archivos permanece sin cambios.

Se aplica a

Write(Byte[], Int32, Int32)

Source:
FileStream.cs
Source:
FileStream.cs
Source:
FileStream.cs

Escribe un bloque de bytes en la secuencia de archivo.

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[]

Búfer que contiene los datos que se van a escribir en la secuencia.

offset
Int32

Desplazamiento en bytes de base cero de array desde donde se comienzan a copiar los bytes en la secuencia.

count
Int32

Número máximo de bytes que se pueden escribir.

Excepciones

array es null.

offset y count describen un intervalo no válido en array.

offset o count es negativo.

Error de E/S.

o bien

Otro subproceso puede haber producido un cambio inesperado en la posición del identificador de archivo del sistema operativo.

O bien

.NET 8 y versiones posteriores: la canalización subyacente está cerrada o desconectada.

La secuencia está cerrada.

La instancia actual de la secuencia no admite la escritura.

Ejemplos

Este ejemplo de código forma parte de un ejemplo más grande proporcionado para el 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

Comentarios

Este método invalida Write.

El offset parámetro proporciona el desplazamiento del byte en array (el índice del búfer) en el que se va a empezar a copiar y el count parámetro proporciona el número de bytes que se escribirán en la secuencia. Si la operación de escritura se realiza correctamente, la posición actual de la secuencia está avanzada por el número de bytes escritos. Si se produce una excepción, la posición actual de la secuencia no cambia.

Nota

Use la CanWrite propiedad para determinar si la instancia actual admite la escritura. Para obtener información adicional, vea CanWrite.

No interrumpa un subproceso que realiza una operación de escritura. Aunque la aplicación puede parecer que se ejecuta correctamente después de desbloquear el subproceso, la interrupción puede reducir el rendimiento y la confiabilidad de la aplicación.

Para obtener una lista de las operaciones comunes de archivos y directorios, consulte Tareas comunes de E/S.

Consulte también

Se aplica a