FileStream.Flush-Methode
Löscht sämtliche Puffer für diesen Stream und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Sub Flush
'Usage
Dim instance As FileStream
instance.Flush
public override void Flush ()
public:
virtual void Flush () override
public void Flush ()
public override function Flush ()
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Ein E/A-Fehler tritt auf. |
|
Der Stream ist geschlossen. |
Hinweise
Diese Methode überschreibt Flush.
Durch Entleeren des Streams wird der zugrunde liegende Encoder nicht entleert, solange Sie nicht ausdrücklich Flush oder Close aufrufen. Wenn AutoFlush auf true festgelegt ist, werden Daten aus dem Puffer in den Stream entleert, aber der Encoderzustand wird nicht geleert. Dadurch kann der Encoder seinen Zustand beibehalten (Teilzeichen), um den nächsten Block von Zeichen richtig zu codieren. Dieses Szenario betrifft UTF8 und UTF7, bei denen bestimmte Zeichen nur verschlüsselt werden können, nachdem der Encoder die angrenzenden Zeichen empfangen hat.
Da ein Puffer für Lese- und Schreibvorgänge verwendet werden kann, führt Flush die folgenden beiden Funktionen aus:
Alle zuvor in den Puffer geschriebenen Daten werden in die Datei kopiert, und der Puffer wird mit Ausnahme des Encoderzustands gelöscht.
Wenn CanSeek den Wert true aufweist und Daten zuvor zum Lesen aus der Datei in den Puffer kopiert wurden, wird die aktuelle Position in der Datei um die Anzahl der nicht im Puffer gelesenen Bytes verringert. Anschließend wird der Puffer gelöscht.
Beispiel
Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die Lock-Methode.
' 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.")
// 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':
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 = Int32.Parse(tempString)+1;
fileStream.Seek(textLength, SeekOrigin.Begin);
fileStream.Write(uniEncoding.GetBytes(
(new Integer( recordNumber)).ToString()),
0, byteCount);
fileStream.Flush();
Console.WriteLine("Record has been updated.");
}
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
FileStream-Klasse
FileStream-Member
System.IO-Namespace
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei