草庐IT

c# - 文件流文件结尾的字符是什么?

我正在while循环中搜索特定字符以检查它是否到达文件末尾。我可以搜索哪个字符??例如:Indexof('/n')endoflineIndexof('')endofword????----------endoffile?? 最佳答案 当Stream.Read返回零时到达Stream的末尾。来自MSDN的示例,FileStream://Openastreamandreaditback.using(FileStreamfs=File.OpenRead(path)){byte[]b=newbyte[1024];UTF8Encodingte

c# - 如何将 xmldocument 保存到流中

我已经编写了代码来使用XmlReader解析我的xml文件,所以我不想重写它。我现在已经为程序添加了加密。我有encrypt()和decrypt()函数,它们采用xml文档和加密算法。我有一个使用xml阅读器解析文件的函数,但现在有了xml文档,我不确定如何创建xmlreader。问题是如何将我的xml文档保存到流中。我敢肯定这很简单,但我对流一无所知。XmlDocumentdoc=newXmlDocument();doc.PreserveWhitespace=true;doc.Load(filep);Decrypt(doc,key);StreamtempStream=null;doc

c# - 如何将图像流嵌入到 MailMessage

我在将Properties.Resources中的图像嵌入到MailMessage时遇到了一些困难,目前该图像未显示在我收到的电子邮件中。我已经成功地从目录位置嵌入了图像,但如果图像来自内存/应用程序,我会更喜欢。这是我正在做的事情的简化版本。Bitmapb=newBitmap(Properties.Resources.companyLogo);MemoryStreamlogo=newMemoryStream();b.Save(logo,ImageFormat.Jpeg);MailMessagenewEmail=newMailMessage(from,to);newEmail.Subj

c# - Zlib 兼容的压缩流?

System.IO.Compression.GZipStream或System.IO.Compression.Deflate是否与zlib压缩兼容? 最佳答案 我在使用Git对象时遇到了这个问题。在这种特殊情况下,他们将对象存储为带有Zlibheader的压缩blob,记录在RFC1950中。.您可以通过制作包含以下内容的文件来制作兼容的blob:两个header字节(来自RFC1950的CMF和FLG),值为0x780x01CM=8=放气CINFO=7=32Kb窗口FCHECK=1=此header的校验和位C#DeflateStr

c# - 从流中加载图像而不保持流打开

是否可以使用System.Drawing.Image的FromStream方法而不必在图像的生命周期内保持流打开?我有一个应用程序,它使用Image.FromStream的组合从资源文件中加载一堆工具栏图形。和Assembly.GetManifestResourceStream.我遇到的问题是,虽然这在Windows7上运行良好,但在WindowsXP上,如果链接到这些图像之一的用户界面元素被禁用,应用程序就会崩溃。在Windows7上,图像以灰度呈现。在XP上,它会因内存不足异常而崩溃。经过一番纠结后,我终于找到了图像的初始加载。当然,如果我创建任何实现IDisposable的对象,

c# - "Chunked"内存流

我正在寻找MemoryStream的实现,它不会将内存分配为一个大块,而是一组block。我想在内存(64位)中存储几GB的数据,并避免内存碎片的限制。 最佳答案 像这样:classChunkedMemoryStream:Stream{privatereadonlyList_chunks=newList();privateint_positionChunk;privateint_positionOffset;privatelong_position;publicoverrideboolCanRead{get{returntrue;}

c# - asp.net mvc 中的 File() 是否关闭流?

我想知道你是否做类似的事情publicFileResultresult(){Streamstream=newStream();returnFile(stream,"text/html","bob.html");}如果File()会为您关闭流?因为我试图将“流”放在using语句中,但它总是给我一个错误,说流已关闭。publicFileResultresult(){using(Streamstream=newStream()){returnFile(stream,"text/html","bob.html");}} 最佳答案 如果您使

c# - 使用自定义流 (IEnumerable<T>)

我正在使用Stream的自定义实现这将流式传输IEnumerable成一个流。我正在使用这个EnumerableStream实现以执行转换。我正在使用它以流式传输模式通过WCF执行流式传输。我能够转换IEnumerable到流没有问题。有一次,我在客户端,我可以反序列化并获取所有数据,但是我无法找到停止循环我的流的条件。我得到:System.Runtime.Serialization.SerializationException:EndofStreamencounteredbeforeparsingwascompleted.这是我要实现的示例示例:classProgram{public

c# - 为什么这个流文档表总是打印 2 列

我的WPF应用程序中有一个ListView,它绑定(bind)到要执行的任务集合(待办事项列表)。我希望用户能够打印他们的列表,并根据MSDN指南创建了以下代码。(这是我第一次涉足打印)publicFlowDocumentGetPrintDocument(){FlowDocumentflowDoc=newFlowDocument();Tabletable=newTable();intnumColumns=3;flowDoc.Blocks.Add(table);for(intx=0;x当我尝试使用以下代码进行打印时,我的页面总是在中间分成2列(每列包含表格的3列)。我尝试了不同的Grid

c# - 在 .NET 中将流(未知长度)转换为字节数组的最佳方法?

我有以下代码从Stream(在本例中是从命名管道)读取数据并将其写入字节数组://NPSSisaninstanceofNamedPipeServerStreamintBytesRead;byte[]StreamBuffer=newbyte[BUFFER_SIZE];//sizedefinedelsewhere(lessthantotalpossiblemessagesize,though)MemoryStreamMessageStream=newMemoryStream();do{BytesRead=NPSS.Read(StreamBuffer,0,StreamBuffer.Lengt