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