Trace.Flush Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.