Trace.Flush Metoda

Definicja

Opróżnia bufor wyjściowy i powoduje zapisanie buforowanych danych w obiekcie Listeners.

C#
[System.Diagnostics.Conditional("TRACE")]
public static void Flush ();
Atrybuty

Przykłady

W poniższym przykładzie zostanie utworzona nazwana TextWriterTraceListenermyTextListener. myTextListener używa wywołania StreamWritermyOutputWriter do zapisu w pliku o nazwie TestFile.txt. Przykład tworzy plik, strumień i moduł zapisywania tekstu, zapisuje jeden wiersz tekstu w pliku, a następnie opróżnia i zamyka dane wyjściowe.

C#
// Specify /d:TRACE when compiling.

using System;
using System.IO;
using System.Diagnostics;

class Test
{
    static void Main()
    {
        // Create a file for output named TestFile.txt.
        using (FileStream myFileStream =
            new FileStream("TestFile.txt", FileMode.Append))
        {
            // Create a new text writer using the output stream
            // and add it to the trace listeners.
            TextWriterTraceListener myTextListener =
                new TextWriterTraceListener(myFileStream);
            Trace.Listeners.Add(myTextListener);

            // Write output to the file.
            Trace.WriteLine("Test output");

            // Flush and close the output stream.
            Trace.Flush();
            Trace.Close();
        }
    }
}

Uwagi

Opróżnienie strumienia nie spowoduje opróżnienia jego kodera bazowego, chyba że jawnie wywołasz Flush lub Close. Ustawienie AutoFlush oznacza true , że dane zostaną opróżnione z buforu do strumienia, ale stan kodera nie zostanie opróżniony. Dzięki temu koder może zachować stan (częściowe znaki), aby można było poprawnie zakodować następny blok znaków. Ten scenariusz ma wpływ na utF8 i UTF7, gdzie niektóre znaki mogą być zakodowane tylko po otrzymaniu sąsiadującego znaku lub znaków.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Zobacz też