我正在编写一些测试应用程序来使用StreamWriter
. 执行该WriteLine
方法时系统突然关闭。重新启动机器后,我观察到文件末尾有许多 NUL 字符。
我搜索了包括 MSDN 在内的许多网站,但没有找到解决此问题的方法。
任何人都可以帮我解决这个问题吗?
如果我们执行以下步骤,这可以很容易地重现:
创建 WindowsApplication 并在其上放置一个按钮控件。
在按钮单击事件处理程序中编写以下代码:
私人无效按钮1_Click(对象发送者,EventArgs e)
{ string str = "Welcome to the C Sharp programming world with a test application using IO operations."; StreamWriter sw = new StreamWriter(fileName, true, Encoding.Unicode, str.Length); sw.WriteLine(str); sw.Close(); }
运行应用程序并连续单击按钮(在机器关闭之前不要停止),然后按 PC 的 Poweroff 按钮。
重新启动 PC 并检查文件。它包含以下文本:
欢迎来到带有使用 IO 操作的测试应用程序的 C Sharp 编程世界。
欢迎来到带有使用 IO 操作的测试应用程序的 C Sharp 编程世界。
欢迎来到带有使用 IO 操作的测试应用程序的 C Sharp 编程世界。
欢迎来到带有使用 IO 操作的测试应用程序的 C Sharp 编程世界。
欢迎来到带有使用 IO 操作的测试应用程序的 C Sharp 编程世界。
欢迎来到带有使用 IO 操作的测试应用程序的 C Sharp 编程世界。
NULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNULNUL
NUL 字符会出现在 Notepaad++ 中,而我们在普通记事本中看不到这些字符。