Condividi tramite


Trace.Flush Metodo

Definizione

Svuota il buffer di output e determina la scrittura dei dati del buffer in 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 ()
Attributi

Esempio

Nell'esempio seguente viene creato un TextWriterTraceListener oggetto denominato myTextListener. myTextListener usa un StreamWriter oggetto denominato myOutputWriter per scrivere in un file denominato TestFile.txt. Nell'esempio viene creato il file, il flusso e il writer di testo, scrive una riga di testo nel file e quindi scarica e chiude l'output.

// Specify /DTRACE when compiling.

#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Diagnostics;

void main()
{
     #if defined(TRACE)
    // Create a file for output named TestFile.txt.
    FileStream^ myFileStream = 
        gcnew FileStream( "TestFile.txt", FileMode::Append );
   
    // Create a new text writer using the output stream 
    // and add it to the trace listeners.
    TextWriterTraceListener^ myTextListener = 
        gcnew 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();
    #endif
}
// 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

Commenti

Lo scaricamento del flusso non scarica il codificatore sottostante, a meno che non si chiami Flush in modo esplicito o Close. L'impostazione AutoFlush indica true che i dati verranno scaricati dal buffer al flusso, ma lo stato del codificatore non verrà scaricato. Ciò consente al codificatore di mantenere lo stato (caratteri parziali) in modo che possa codificare correttamente il blocco successivo di caratteri. Questo scenario influisce su UTF8 e UTF7 in cui alcuni caratteri possono essere codificati solo dopo che il codificatore riceve il carattere o i caratteri adiacenti.

Si applica a

Vedi anche