2012-03-16 31 views
0

我正在嘗試使用Debug.WriteLine(「Message」)將一些消息寫入文本文件。Debug.Writeline

這是代碼。

Dim Tr As TextWriterTraceListener 
Tr = New TextWriterTraceListener(System.IO.File.CreateText("Output1.txt")) 
'Tr = New TextWriterTraceListener(System.Console.Out) 
Debug.Listeners.Add(Tr) 
Debug.WriteLine("Test Message") 

我看到正在創建的output1.txt文件,但沒有寫入文件。

我該如何解決這個問題?

回答

2

TextWriterTraceListener緩衝器數據,並且僅將其寫在緩衝器是滿的,它是封閉的/佈置,或Flush()叫做:

Dim Tr As TextWriterTraceListener 
Tr = New TextWriterTraceListener(System.IO.File.CreateText("Output1.txt")) 
'Tr = New TextWriterTraceListener(System.Console.Out) 
Debug.Listeners.Add(Tr) 
Debug.WriteLine("Test Message") 
Tr.Flush() 
+0

讓我試試 – Virus 2012-03-16 14:32:03

+0

@satish:那是因爲你刷新你寫的字符串之前。這裏有一個廁所比喻,我不會爲你拼寫。 – 2012-03-16 14:34:28

+0

謝謝肯特..這似乎是工作。這雖然簡單! – Virus 2012-03-16 14:35:29

1

您需要衝洗TextWriterTraceListener的緩衝器。

寫入跟蹤偵聽器後,您需要:

Tr.Flush(); 

查看文檔Flush MSDN上。

1

您必須關閉和處置TextWriterTraceListener

Tr.Close() 
Tr.Dispose() 
相關問題