FileStream.Flush FileStream.Flush FileStream.Flush FileStream.Flush Method

Definición

Borra los búferes de esta secuencia y hace que todos los datos almacenados en los búferes se escriban en el archivo.Clears buffers for this stream and causes any buffered data to be written to the file.

Sobrecargas

Flush() Flush() Flush() Flush()

Borra los búferes de esta secuencia y hace que todos los datos almacenados en los búferes se escriban en el archivo.Clears buffers for this stream and causes any buffered data to be written to the file.

Flush(Boolean) Flush(Boolean) Flush(Boolean) Flush(Boolean)

Borra los búferes de esta secuencia, hace que todos los datos almacenados en los búferes se escriban en el archivo y borra también todos los búferes de archivos intermedios.Clears buffers for this stream and causes any buffered data to be written to the file, and also clears all intermediate file buffers.

Flush() Flush() Flush() Flush()

Borra los búferes de esta secuencia y hace que todos los datos almacenados en los búferes se escriban en el archivo.Clears buffers for this stream and causes any buffered data to be written to the file.

public:
 override void Flush();
public override void Flush ();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()

Excepciones

Error de E/S.An I/O error occurred.

Ejemplos

Este ejemplo de código forma parte de un ejemplo mayor proporcionado para Lock el método.This code example is part of a larger example provided for the Lock method.

// Update the file.
case 'W':
   try
   {
      fileStream->Seek( textLength, SeekOrigin::Begin );
      fileStream->Read( readText, textLength - 1, byteCount );
      tempString = gcnew String( uniEncoding->GetChars( readText, textLength - 1, byteCount ) );
      recordNumber = Int32::Parse( tempString ) + 1;
      fileStream->Seek( textLength, SeekOrigin::Begin );
      fileStream->Write( uniEncoding->GetBytes( recordNumber.ToString() ), 0, byteCount );
      fileStream->Flush();
      Console::WriteLine( "Record has been updated." );
   }
// 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.");
    }
' Update the file.
Case "W"C
    Try
        aFileStream.Seek(textLength, _
            SeekOrigin.Begin)
        aFileStream.Read( _
            readText, textLength - 1, byteCount)
        tempString = New String( _
            uniEncoding.GetChars( _
            readText, textLength - 1, byteCount))
        recordNumber = _
            Integer.Parse(tempString) + 1
        aFileStream.Seek( _
            textLength, SeekOrigin.Begin)
        aFileStream.Write(uniEncoding.GetBytes( _
            recordNumber.ToString()), 0, byteCount)
        aFileStream.Flush()
        Console.WriteLine( _
            "Record has been updated.")

Comentarios

Este método invalida Stream.Flush.This method overrides Stream.Flush.

Cuando se llama al FileStream.Flush método, también se vacía el búfer de e/s del sistema operativo.When you call the FileStream.Flush method, the operating system I/O buffer is also flushed.

El codificador de un flujo no se vacía a menos que llame Flush explícitamente al objeto o lo elimine.A stream's encoder is not flushed unless you explicitly call Flush or dispose of the object. Establecer StreamWriter.AutoFlush entrue significa que los datos se vaciarán del búfer en la secuencia, pero el estado del codificador no se vaciará.Setting StreamWriter.AutoFlush to true means that data will be flushed from the buffer to the stream, but the encoder state will not be flushed. Esto permite que el codificador mantenga su estado (caracteres parciales) para que pueda codificar correctamente el siguiente bloque de caracteres.This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. Este escenario afecta a UTF8 y UTF7, donde ciertos caracteres solo se pueden codificar después de que el codificador reciba el carácter o los caracteres adyacentes.This scenario affects UTF8 and UTF7 where certain characters can only be encoded after the encoder receives the adjacent character or characters.

Dado que un búfer se puede usar para lectura o escritura, Flush() realiza las dos funciones siguientes:Because a buffer can be used for either reading or writing, Flush() performs the following two functions:

  • Los datos escritos previamente en el búfer se copian en el archivo y se borra el búfer, excepto el estado del codificador.Any data previously written to the buffer is copied to the file and the buffer is cleared except for its encoder state.

  • Si BufferedStream.CanSeek estrue y los datos se copiaron previamente del archivo en el búfer para su lectura, la posición actual dentro del archivo disminuye en función del número de bytes no leídos en el búfer.If BufferedStream.CanSeek is true and data was previously copied from the file to the buffer for reading, the current position within the file is decremented by the number of unread bytes in the buffer. A continuación, se borra el búfer.The buffer is then cleared.

Utilice la Flush(Boolean) sobrecarga del método cuando desee asegurarse de que todos los datos almacenados en búfer en búferes de archivos intermedios se escriben en el disco.Use the Flush(Boolean) method overload when you want to ensure that all buffered data in intermediate file buffers is written to disk.

Consulte también:

Flush(Boolean) Flush(Boolean) Flush(Boolean) Flush(Boolean)

Borra los búferes de esta secuencia, hace que todos los datos almacenados en los búferes se escriban en el archivo y borra también todos los búferes de archivos intermedios.Clears buffers for this stream and causes any buffered data to be written to the file, and also clears all intermediate file buffers.

public:
 virtual void Flush(bool flushToDisk);
public virtual void Flush (bool flushToDisk);
override this.Flush : bool -> unit
Public Overridable Sub Flush (flushToDisk As Boolean)

Parámetros

flushToDisk
Boolean Boolean Boolean Boolean

true para vaciar todos los búferes de archivos intermedios; de lo contrario, false.true to flush all intermediate file buffers; otherwise, false.

Comentarios

Utilice esta sobrecarga cuando desee asegurarse de que todos los datos almacenados en búfer en búferes de archivos intermedios se escriben en el disco.Use this overload when you want to ensure that all buffered data in intermediate file buffers is written to disk.

Cuando se llama al Flush método, también se vacía el búfer de e/s del sistema operativo.When you call the Flush method, the operating system I/O buffer is also flushed.

Consulte también:

Se aplica a