sar*_*ake 19 c# asp.net-mvc file-io streamwriter.write
我在C#中的代码(asp.net MVC)
StreamWriter tw = new StreamWriter("C:\\mycode\\myapp\\logs\\log.txt");
// write a line of text to the file
tw.Write("test");
Run Code Online (Sandbox Code Playgroud)
文件已创建但为空.没有异常被抛出.我以前从未见过这个,我被困在这里; 我只需要编写一些调试输出.
请指教.
Ben*_*Cox 53
StreamWriter默认是缓冲的,这意味着在收到Flush()或Close()调用之前它不会输出.
如果需要,可以通过设置AutoFlush属性来更改它.否则,只需:
StreamWriter tw = new StreamWriter("C:\\mycode\\myapp\\logs\\log.txt");
// write a line of text to the file
tw.Write("test");
tw.Close(); //or tw.Flush();
Run Code Online (Sandbox Code Playgroud)
既不冲洗也不关闭也不处置.试试这个
using (StreamWriter tw = new StreamWriter(@"C:\mycode\myapp\logs\log.txt"))
{
// write a line of text to the file
tw.Write("test");
tw.Flush();
}
Run Code Online (Sandbox Code Playgroud)
或者我的偏好
using (FileStream fs = new FileStream( @"C:\mycode\myapp\logs\log.txt"
, FileMode.OpenOrCreate
, FileAccess.ReadWrite) )
{
StreamWriter tw = new StreamWriter(fs);
tw.Write("test");
tw.Flush();
}
Run Code Online (Sandbox Code Playgroud)
小智 5
使用
System.IO.File.WriteAllText(@"path\te.txt", "text");
Run Code Online (Sandbox Code Playgroud)
完成写入后,您需要关闭或刷新StreamWriter。
tw.Close();
Run Code Online (Sandbox Code Playgroud)
要么
tw.Flush();
Run Code Online (Sandbox Code Playgroud)
但是最佳实践是将输出代码包装在using语句中,因为StreamWriter实现了IDisposable:
using (StreamWriter tw = new StreamWriter("C:\\mycode\\myapp\\logs\\log.txt")){
// write a line of text to the file
tw.Write("test");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49063 次 |
| 最近记录: |