次の方法で共有


Trace.Close メソッド

出力バッファをフラッシュしてから Listeners を終了します。

<Conditional("TRACE")>
Public Shared Sub Close()
[C#]
[Conditional("TRACE")]
public static void Close();
[C++]
[Conditional("TRACE")]
public: static void Close();
[JScript]
public
   Conditional("TRACE")
static function Close();

解説

このメソッドは、ファイル (TextWriterTraceListener など) に出力するときに使用します。

ストリームをフラッシュしても、 Flush または Close を明示的に呼び出さない限り、そのストリームの基になるエンコーダはフラッシュされません。 AutoFlushtrue に設定すると、データがバッファからストリームにフラッシュされますが、エンコーダの状態はフラッシュされません。これにより、エンコーダの状態 (一部の文字) を維持できるため、次のブロックの文字を正確にエンコードできるようになります。この動作は、一部の文字をエンコードするためにはエンコーダがあらかじめその文字に隣接する文字を受け取っておく必要がある UTF8 および UTF7 に対して有効です。

使用例

myTextListener という名前の TextWriterTraceListener を作成する例を次に示します。 myTextListener は、 myOutputWriter という名前の StreamWriter を使用して、 TestFile.txt というファイルに書き込みます。この例では、ファイル、ストリーム、およびテキスト ライタを作成し、テキストの 1 行をファイルに書き込んでから、出力をフラッシュして終了します。

 
Public Shared Sub Main()
    ' Create a file for output named TestFile.txt.
    Dim myFileName As String = "TestFile.txt"
    If Not File.Exists(myFileName) Then
        Dim myFile As Stream = File.Create(myFileName)
        
        ' Assign output file to output stream.
        Dim myOutputWriter As StreamWriter
        myOutputWriter = File.AppendText(myFileName)
        
        ' Create a new text writer using the output stream, and 
        ' add it to the trace listeners. 
        Dim myTextListener As New TextWriterTraceListener(myOutputWriter)
        Trace.Listeners.Add(myTextListener)
        
        ' Write output to the file.
        Trace.WriteLine("Test output")
        
        ' Flush and close the output stream.
        Trace.Flush()
        Trace.Close()
    End If
End Sub


[C#] 
public static void Main(string[] args) {
    // Create a file for output named TestFile.txt.
    String myFileName = "TestFile.txt";
    if(!File.Exists(myFileName))
    {
       Stream myFile = File.Create(myFileName);
 
    // Assign output file to output stream.
    StreamWriter myOutputWriter;
    myOutputWriter = File.AppendText(myFileName);
 
    /* Create a new text writer using the output stream, and 
     * add it to the trace listeners. */
    TextWriterTraceListener myTextListener = new 
       TextWriterTraceListener(myOutputWriter);
    Trace.Listeners.Add(myTextListener);
 
    // Write output to the file.
    Trace.WriteLine("Test output");
 
    // Flush and close the output stream.
    Trace.Flush();
    Trace.Close();
   }
 }
 

[C++] 
int main() {
   // Create a file for output named TestFile.txt.
   String* myFileName = S"TestFile.txt";
   if(!File::Exists(myFileName))
   {
      Stream* myFile = File::Create(myFileName);

      // Assign output file to output stream.
      StreamWriter* myOutputWriter;
      myOutputWriter = File::AppendText(myFileName);

      /* Create a new text writer using the output stream, and 
      * add it to the trace listeners. */
      TextWriterTraceListener* myTextListener = new 
         TextWriterTraceListener(myOutputWriter);
      Trace::Listeners->Add(myTextListener);

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

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


[JScript] 
// Open or create a file stream for output named TestFile.txt.
var myOutputWriter : FileStream = File.OpenWrite("TestFile.txt")

// Specify myOutputWriter as the Trace output stream by
// adding it to the trace listeners. 
Trace.Listeners.Add(new TextWriterTraceListener(myOutputWriter))

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

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

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Trace クラス | Trace メンバ | System.Diagnostics 名前空間 | Debug | Trace | BooleanSwitch | TraceSwitch | TraceListener | DefaultTraceListener | ConditionalAttribute