Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

FileStream.Flush (Método)

Borra los búferes de esta secuencia y hace que todos los datos almacenados en los búferes se escriban en el archivo.

Espacio de nombres:  System.IO
Ensamblado:  mscorlib (en mscorlib.dll)

public override void Flush()

ExcepciónCondición
IOException

Error de E/S.

ObjectDisposedException

La secuencia está cerrada.

Este método invalida Stream.Flush.

Cuando se llama al método de FileStream.Flush , el búfer de E/S de sistema operativo también se vacía.

El codificador de una secuencia no se vacía a menos que explícitamente llame a Flush o se eliminan del objeto. Al establecer el valor de StreamWriter.AutoFlush en true, los datos del búfer se volcarán en el flujo, pero no se volcará el estado del codificador. Esto permite al codificador mantener su estado (caracteres parciales) de forma que sea posible codificar el siguiente bloque de caracteres correctamente. Este escenario afecta a UTF8 y UTF7 donde ciertos caracteres sólo se pueden codificar después de que el codificador reciba el carácter o caracteres adyacentes.

Debido a que se puede utilizar un búfer para lectura o escritura, Flush() realiza las dos funciones siguientes:

  • En el archivo se copia cualquier dato anteriormente escrito en el búfer y se borra dicho búfer excepto en lo que se refiere al estado de su codificador.

  • Si BufferedStream.CanSeek es true y anteriormente se copiaron los datos del archivo en el búfer para la lectura, disminuye la posición actual dentro del archivo en el número de bytes no leídos del búfer. A continuación se borra el búfer.

Utilice la sobrecarga del método Flush(Boolean) si desea garantizar que todos los datos almacenados en búfer en búferes de archivos intermedios se escriben en el disco.

Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase Lock.


// Update the file.
case 'W':
    try
    {
        fileStream.Seek(textLength, 
            SeekOrigin.Begin);
        fileStream.Read(
            readText, textLength - 1, byteCount);
        tempString = new String(
            uniEncoding.GetChars(
            readText, textLength - 1, byteCount));
        recordNumber = int.Parse(tempString) + 1;
        fileStream.Seek(
            textLength, SeekOrigin.Begin);
        fileStream.Write(uniEncoding.GetBytes(
            recordNumber.ToString()), 
            0, byteCount);
        fileStream.Flush();
        Console.WriteLine(
            "Record has been updated.");
    }


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft