FileStream.Write Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.