2012-03-16 28 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() 
相关问题