Trace.Flush Метод

Определение

Очищает выходной буфер и приводит к записи буферных данных в буфер Listeners.

public:
 static void Flush();
[System.Diagnostics.Conditional("TRACE")]
public static void Flush();
[<System.Diagnostics.Conditional("TRACE")>]
static member Flush : unit -> unit
Public Shared Sub Flush ()
Атрибуты

Примеры

В следующем примере создается именованный TextWriterTraceListenermyTextListenerобъект. myTextListener использует вызываемую StreamWritermyOutputWriter запись в файл с именем TestFile.txt. В этом примере создается файл, поток и запись текста, записывается одна строка текста в файл, а затем удаляется и закрывается выходные данные.

// 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();
        }
    }
}
' Specify /d:TRACE=True when compiling.

Imports System.IO
Imports System.Diagnostics

Class Test
    
    Shared Sub Main()
    
        ' Create a file for output named TestFile.txt.
        Using myFileStream As New FileStream("TestFile.txt", FileMode.Append)
        
            ' Create a new text writer using the output stream
            ' and add it to the trace listeners. 
            Dim myTextListener As 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()
        
        End Using
        
    End Sub

End Class

Комментарии

Очистка потока не будет очищать его базовый кодировщик, если вы явно не вызовете Flush или Close. AutoFlush Значение параметра true означает, что данные будут удалены из буфера в поток, но состояние кодировщика не будет удалено. Это позволяет кодировщику сохранять состояние (частичные символы), чтобы кодировать следующий блок символов правильно. Этот сценарий влияет на UTF8 и UTF7, где некоторые символы могут быть закодированы только после того, как кодировщик получает смежные символы или символы.

Применяется к

См. также раздел