FileStream.Flush Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.