草庐IT

m_streamWriter

全部标签

c# - StreamWriter 和 UTF-8 字节顺序标记

我遇到了StreamWriter和字节顺序标记的问题。文档似乎指出Encoding.UTF8编码启用了字节顺序标记,但是在写入文件时,一些文件有标记,而另一些则没有。我正在通过以下方式创建流编写器:this.Writer=newStreamWriter(this.Stream,System.Text.Encoding.UTF8);任何关于可能发生的事情的想法都将不胜感激。 最佳答案 正如有人指出的那样,调用时不带编码参数就可以了。但是,如果您想明确说明,请尝试以下操作:using(varsw=newStreamWriter(this

c# - StreamWriter 和 UTF-8 字节顺序标记

我遇到了StreamWriter和字节顺序标记的问题。文档似乎指出Encoding.UTF8编码启用了字节顺序标记,但是在写入文件时,一些文件有标记,而另一些则没有。我正在通过以下方式创建流编写器:this.Writer=newStreamWriter(this.Stream,System.Text.Encoding.UTF8);任何关于可能发生的事情的想法都将不胜感激。 最佳答案 正如有人指出的那样,调用时不带编码参数就可以了。但是,如果您想明确说明,请尝试以下操作:using(varsw=newStreamWriter(this

c# - 有没有办法在不关闭 StreamWriter 的情况下关闭其 BaseStream?

我的根本问题是,当using在StreamWriter上调用Dispose时,它还会处理BaseStream(Close也有同样的问题。我有一个解决方法,但如您所见,它涉及复制流。有没有办法在不复制流的情况下做到这一点?这样做的目的是将一个字符串的内容(原本是从数据库中读取的)获取到一个流中,这样流就可以被第三方组件读取。注意:我无法更改第三方组件。publicSystem.IO.StreamCreateStream(stringvalue){varbaseStream=newSystem.IO.MemoryStream();varbaseCopy=newSystem.IO.Memor

c# - 有没有办法在不关闭 StreamWriter 的情况下关闭其 BaseStream?

我的根本问题是,当using在StreamWriter上调用Dispose时,它还会处理BaseStream(Close也有同样的问题。我有一个解决方法,但如您所见,它涉及复制流。有没有办法在不复制流的情况下做到这一点?这样做的目的是将一个字符串的内容(原本是从数据库中读取的)获取到一个流中,这样流就可以被第三方组件读取。注意:我无法更改第三方组件。publicSystem.IO.StreamCreateStream(stringvalue){varbaseStream=newSystem.IO.MemoryStream();varbaseCopy=newSystem.IO.Memor

c# - 从任务计划程序 C# 调用时,StreamWriter 不写入文件

我有以下函数,它接受一个字符串,并将字符串内容记录到日志文件中。privatestaticvoidLogEvent(stringsEvent){sEvent=DateTime.Now.ToString("yyyy-MM-ddhh:mm:ss")+"|"+sEvent;Console.WriteLine(sEvent);try{using(StreamWriteroStreamWriter=newSystem.IO.StreamWriter("MyService_"+DateTime.Now.ToString("yyyyMMdd")+".log",true)){oStreamWriter

c# - streamwriter 和 binarywriter 有什么区别?

这真的让我很困惑,比如说我想将一个整数保存到一个文件中,intx=56,二进制编写器采用内存中56的ascii等效表示00000000000000000000000000111000,这将是:nullnullnull8并将其写入文件?我对么?有人可以解释一下这两个函数的功能以及我应该什么时候使用它们吗?我正在使用c#顺便说一句。提前谢谢! 最佳答案 来自StreamWriter的MSDN页面和BinaryWriter您可以清楚地看到差异:StreamWriter:ImplementsaTextWriterforwritingchar

c# - StreamWriter 和 IFormatProvider

如何将IFormatProvider传递给StreamWriter?特别是我想创建一个newStreamWriter("myfile.txt",CultureInfo.InvariantCulture);TextWriter和StringWriter在构造函数中有一个参数,但StreamWriter没有。属性stringWriter.FormatProvider是只读的。我能想到三种看起来不太好的解决方法:更改Thread.CurrentCulture:这将在库中,因此我宁愿不更改任何全局设置,即使是暂时的。sw.WriteLine(InvariantCulture,,):有很多sw.

c# - StreamWriter 写入 MemoryStream

我的印象是,当您在StreamWriter对象中调用Flush()时,它会写入基础流,但显然我的代码不是这种情况。它不会写入我的文件,而不会写入任何内容。我哪里出错了?publicFileResultDownloadEntries(intid){Competitioncompetition=dataService.GetCompetition(id);IQueryableentries=dataService.GetAllCompetitionEntries().Where(e=>e.CompetitionId==competition.CompetitionId);MemoryStr

c# - 使用 StreamWriter 可以写入的字符数是否有最大限制?

使用StreamWriter可以写入文件的字符数是否有最大限制?还是WriteLine()可以输出最大字符数?我正在尝试将一些数据写入文件,但似乎无法写入所有数据。这是我的代码的当前状态:StreamWritersw=newStreamWriter(pathToFile);foreach(GridViewRowrecordingv_Records.Rows){stringrecordInfo="recordInformation";sw.WriteLine(recordInfo);} 最佳答案 你调用的是StreamWriter.C

c# - 是否有必要将 StreamWriter 包装在 using block 中?

几天前我发布了一些这样的代码:StreamWriterwriter=newStreamWriter(Response.OutputStream);writer.WriteLine("col1,col2,col3");writer.WriteLine("1,2,3");writer.Close();Response.End();我被告知我应该将StreamWriter包装在一个usingblock中以防出现异常。这样的改变会使它看起来像这样:using(StreamWriterwriter=newStreamWriter(Response.OutputStream)){writer.Wr