Bagikan melalui


FileStream.Flush Metode

Definisi

Menghapus buffer untuk aliran ini dan menyebabkan data yang di-buffer ditulis ke file.

Overload

Flush()

Menghapus buffer untuk aliran ini dan menyebabkan data yang di-buffer ditulis ke file.

Flush(Boolean)

Menghapus buffer untuk aliran ini dan menyebabkan data buffer ditulis ke file, dan juga menghapus semua buffer file perantara.

Flush()

Sumber:
FileStream.cs
Sumber:
FileStream.cs
Sumber:
FileStream.cs

Menghapus buffer untuk aliran ini dan menyebabkan data yang di-buffer ditulis ke file.

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

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk metode .Lock

// 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.");
    }
| 'W' ->
    // Update the file.
    try

        fileStream.Seek(textLength, SeekOrigin.Begin) |> ignore
        fileStream.Read(readText, textLength - 1, byteCount) |> ignore
        tempString <- String(uniEncoding.GetChars readText, textLength - 1, byteCount)
        recordNumber <- Int32.Parse tempString + 1
        fileStream.Seek(textLength, SeekOrigin.Begin) |> ignore
        fileStream.Write(string recordNumber |> uniEncoding.GetBytes, 0, byteCount)
        fileStream.Flush()
        printfn "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.")

Keterangan

Metode ini mengambil Stream.Flushalih .

Ketika Anda memanggil FileStream.Flush metode , buffer I/O sistem operasi juga dibersihkan.

Encoder aliran tidak dihapus kecuali Anda secara eksplisit memanggil Flush atau membuang objek. Pengaturan StreamWriter.AutoFlush ke true berarti bahwa data akan dibersihkan dari buffer ke aliran, tetapi status encoder tidak akan dibersihkan. Ini memungkinkan encoder untuk mempertahankan statusnya (karakter parsial) sehingga dapat mengodekan blok karakter berikutnya dengan benar. Skenario ini memengaruhi UTF8 dan UTF7 di mana karakter tertentu hanya dapat dikodekan setelah encoder menerima karakter atau karakter yang berdekatan.

Karena buffer dapat digunakan untuk membaca atau menulis, Flush() melakukan dua fungsi berikut:

  • Setiap data yang sebelumnya ditulis ke buffer disalin ke file dan buffer dibersihkan kecuali untuk status encoder-nya.

  • Jika BufferedStream.CanSeek adalah true dan data sebelumnya disalin dari file ke buffer untuk dibaca, posisi saat ini dalam file dikurangi dengan jumlah byte yang belum dibaca dalam buffer. Buffer kemudian dibersihkan.

Flush(Boolean) Gunakan metode kelebihan beban ketika Anda ingin memastikan bahwa semua data yang di-buffer dalam buffer file perantara ditulis ke disk.

Lihat juga

Berlaku untuk

Flush(Boolean)

Sumber:
FileStream.cs
Sumber:
FileStream.cs
Sumber:
FileStream.cs

Menghapus buffer untuk aliran ini dan menyebabkan data buffer ditulis ke file, dan juga menghapus semua buffer file perantara.

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

true untuk membersihkan semua buffer file perantara; jika tidak, false.

Keterangan

Gunakan kelebihan beban ini ketika Anda ingin memastikan bahwa semua data yang di-buffer dalam buffer file perantara ditulis ke disk.

Ketika Anda memanggil Flush metode , buffer I/O sistem operasi juga dibersihkan.

Lihat juga

Berlaku untuk