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

在C#中将流转换为FileStream分享

时间:2023-04-10 21:57:43 C#

C#学习教程:在C#中将Stream转换为FileStream我正在处理的函数有一个Stream传递给它,其中包含上传的数据,我需要能够执行stream.Read()、stream.Seek()方法,它们是FileStream类型的方法。简单的演员表不起作用,所以我在这里寻求帮助。Read和Seek是Stream类型的方法,而不仅仅是FileStream。只是不是每个流都支持它们。(我个人更喜欢使用Position属性而不是调用Seek,但它们归结为同一件事。)如果您想将内存中的数据转储到文件中,为什么不将其全部读入MemoryStream?这支持寻找。例如:publicstaticMemoryStreamCopyToMemory(Streaminput){//在这个方法中我们是否抛出异常无关紧要;//我们*真的*不需要处理MemoryStream,//调用者应该处理输入流MemoryStreamret=newMemoryStream();字节[]缓冲区=新字节[8192];intbytesRead;while((bytesRead=input.Read(buffer,0,buffer.Length))>0){ret.写入(缓冲区,0,字节读取);}//倒带准备读取(典型场景)ret.Position=0;返还;}using:using(Streaminput=...){using(Streammemory=CopyToMemory(input)){//在内存中随心所欲地寻找}}这类似于使用.NET中引入的Stream.CopyTo方法4.如果你真的想写入文件系统,你可以做类似的事情,先写入文件然后重新流式传输它......但是你需要注意事后删除它以避免文件乱丢你的磁盘.以上就是C#学习教程:在C#中将流转为FileStream全部内容分享给大家。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: