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

Definition

Löscht die Puffer für diesen Datenstrom und veranlasst die Ausgabe aller gepufferten Daten in die Datei.Clears buffers for this stream and causes any buffered data to be written to the file.

Überlädt

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

Löscht die Puffer für diesen Datenstrom und veranlasst die Ausgabe aller gepufferten Daten in die Datei.Clears buffers for this stream and causes any buffered data to be written to the file.

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

Löscht die Puffer für diesen Datenstrom, veranlasst die Ausgabe aller gepufferten Daten in die Datei und löscht zudem alle Zwischendateipuffer.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()

Löscht die Puffer für diesen Datenstrom und veranlasst die Ausgabe aller gepufferten Daten in die Datei.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 ()

Ausnahmen

E/A-FehlerAn I/O error occurred.

Beispiele

Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die Lock Methode.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.")

Hinweise

Diese Methode überschreibt Stream.Flush.This method overrides Stream.Flush.

Beim Aufrufen der FileStream.Flush -Methode, die Betriebssystem e/a-Puffer wird ebenfalls geleert.When you call the FileStream.Flush method, the operating system I/O buffer is also flushed.

Eine streamdatei Encoder wird nicht geleert werden, es sei denn, Sie explizit aufrufen, Flush oder Löschen des Objekts.A stream's encoder is not flushed unless you explicitly call Flush or dispose of the object. Festlegen von StreamWriter.AutoFlush zu true bedeutet, die Daten werden in den Stream, aus dem Puffer geleert werden, aber der Encoderzustand wird nicht geleert.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. Dadurch wird den Encoder auf seinen Zustand (partielle Zeichen) beibehalten, sodass den nächsten Block Zeichen richtig codiert werden können.This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. Dieses Szenario betrifft, UTF8 und UTF7, in denen bestimmte Zeichen nur verschlüsselt werden können, nachdem der Encoder das bzw. der angrenzenden Zeichen empfangen.This scenario affects UTF8 and UTF7 where certain characters can only be encoded after the encoder receives the adjacent character or characters.

Da ein Puffer für gelesen oder geschrieben wird, verwendet werden kann Flush() führt die folgenden zwei Funktionen:Because a buffer can be used for either reading or writing, Flush() performs the following two functions:

  • Alle zuvor in den Puffer geschriebenen Daten in die Datei kopiert werden, und der Puffer wird gelöscht, außer den Encoderzustand.Any data previously written to the buffer is copied to the file and the buffer is cleared except for its encoder state.

  • Wenn BufferedStream.CanSeek ist true Daten wurde zuvor in den Puffer zum Lesen aus der Datei kopiert, und die aktuelle Position in der Datei wird durch die Anzahl der gelesenen Bytes im Puffer verringert.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. Der Puffer wird dann gelöscht.The buffer is then cleared.

Verwenden der Flush(Boolean) -methodenüberladung, wenn Sie möchten sicherstellen, dass alle Zwischendateipuffer Daten gepuffert wird geschrieben. auf dem Datenträger.Use the Flush(Boolean) method overload when you want to ensure that all buffered data in intermediate file buffers is written to disk.

Siehe auch

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

Löscht die Puffer für diesen Datenstrom, veranlasst die Ausgabe aller gepufferten Daten in die Datei und löscht zudem alle Zwischendateipuffer.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)

Parameter

flushToDisk
Boolean Boolean Boolean Boolean

true, um alle Zwischendateipuffer zu leeren, andernfalls false.true to flush all intermediate file buffers; otherwise, false.

Hinweise

Verwenden Sie diese Überladung, wenn Sie möchten, um sicherzustellen, dass alle Daten im Zwischendateipuffer gepuffert geschrieben wird. auf dem Datenträger.Use this overload when you want to ensure that all buffered data in intermediate file buffers is written to disk.

Beim Aufrufen der Flush -Methode, die Betriebssystem e/a-Puffer wird ebenfalls geleert.When you call the Flush method, the operating system I/O buffer is also flushed.

Siehe auch

Gilt für: