当前位置: 首页 > 编程语言 > C#

StreamWriter.Write不写入文件;没有抛出异常Share

时间:2023-04-10 23:27:20 C#

StreamWriter.Write不写入文件;没有抛出异常我在C#(asp.netMVC)中的代码StreamWritertw=newStreamWriter("C:\mycode\myapp\logs\log.txt");//向文件写入一行文本tw.Write("test");该文件已创建但为空。毫无例外。我以前从未见过这个,我被困在这里;我只需要写一些调试输出。请指教。使用System.IO.File.WriteAllText(@"pathte.txt","text");StreamWriter默认情况下是缓冲的,这意味着它在收到Flush()或Close()调用之前不会输出。如果需要,可以通过设置AutoFlush属性来更改。否则,只需:StreamWritertw=newStreamWriter("C:\mycode\myapp\logs\log.txt");//向文件写入一行文本tw.Write("test");tw.Close();//或tw.Flush();既不冲洗也不关闭也不处置。尝试使用(StreamWritertw=newStreamWriter(@"C:mycodemyapplogslog.txt")){//将一行文本写入文件tw.Write("test");tw.Flush();}或i首选项使用(FileStreamfs=newFileStream(@"C:mycodemyapplogslog.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite)){StreamWritertw=newStreamWriter(fs);tw.Write("测试");tw.Flush();}完成写入后,您需要关闭或刷新StreamWriter。tw.Close();或tw.Flush();但最佳做法是将输出代码包装在using语句中,因为StreamWriter实现了IDisposable:using(StreamWritertw=newStreamWriter("C:\mycode\myapp\logs\log.txt")){//写一行文本到文件tw.Write("test");}FileStreamfs=newFileStream("d:\demo.txt",FileMode.CreateNew,FileAccess.Write);StreamWritersw=newStreamWriter(fs,System.Text.Encoding.ASCII);整数数据;sw.Write("HelloWorld");sw.Close();fs.Close();Yahoo在VB.net中不是必需的,但在CSharp看来,你需要一个Writer.Flush调用来强制写入。当然,Writer.Close()也会强制刷新。我们还可以设置StreamWriter实例的AutoFlush属性:sw.AutoFlush=true;//获取或设置一个值,该值指示StreamWriter//是否会在每次//调用StreamWriter.Write后将其缓冲区刷新到基础流。来自:http://msdn.microsoft.com/en-us/library/system.io.streamwriter.autoflush(v=vs.110).aspxFileStream的替代方法mystream=newFileStream("C:\mycode\myapp\logs\log.txt",FileMode.OpenOrCreate,FileAccess.Write);StreamWritertw=newStreamWriter(mystream);tw.WriteLine("测试");tw.close();尝试关闭文件或者在行中加n等以上是C#学习教程:StreamWriter.Write不写文件;无一例外抛出所有分享的内容,如果对大家有用,需要了解更多C#学习教程,希望大家多加关注—tw.WriteLine("test");tw.Close();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: