Partager via


Trace.Flush Méthode

Définition

Vide la mémoire tampon de sortie et entraîne l’écriture des données mises en mémoire dans 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 ()
Attributs

Exemples

L’exemple suivant crée un TextWriterTraceListener nommé myTextListener. myTextListener utilise un StreamWriter appelé myOutputWriter pour écrire dans un fichier nommé TestFile.txt. L’exemple crée le fichier, le flux et l’enregistreur de texte, écrit une ligne de texte dans le fichier, puis vide et ferme la sortie.

// 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

Remarques

Le vidage du flux ne videra pas son encodeur sous-jacent, sauf si vous appelez Flush explicitement ou Close. La définition de AutoFlush sur true signifie que les données seront vidées de la mémoire tampon vers le flux, mais que l’état de l’encodeur ne sera pas vidé. Cela permet à l’encodeur de conserver son état (caractères partiels) afin qu’il puisse encoder correctement le bloc de caractères suivant. Ce scénario affecte UTF8 et UTF7 où certains caractères ne peuvent être encodés qu’une fois que l’encodeur a reçu le ou les caractères adjacents.

S’applique à

Voir aussi