如何将网络流转化为内存流 C#

        //将获取的文件流转化为内存流
        public static MemoryStream ConvertStreamToMemoryStream(Stream stream)
        {
            MemoryStream memoryStream = new MemoryStream();
            if (stream != null)
            {
                byte[] buffer = ReadFull(stream);
                if (buffer != null)
                {
                    var binaryWriter = new BinaryWriter(memoryStream);
                    binaryWriter.Write(buffer);
                }
            }
            return memoryStream;
        }

        public static byte[] ReadFull(Stream input)
        {
            byte[] buffer = new byte[16 * 1024];
            using (MemoryStream ms = new MemoryStream())
            {
                int read;
                while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
                {
                    ms.Write(buffer, 0, read);
                }
                return ms.ToArray();
            }
        }
时间: 2024-11-13 07:36:32

如何将网络流转化为内存流 C#的相关文章

JAVA IO ( 字节流转化为字符流 )

public class Index { public static void main(String[] args) { // 创建文件对象 File f1 = new File("src/字节流_转化成_字符流/text.txt"); File f2 = new File("src/字节流_转化成_字符流/textCopy.txt"); try ( // 创建输入输出流(java1.7开始在这里面的代码会自动关闭) Reader inputStream = ne

下载网络文件,网络流转换为内存流

string fileext = CSA_BLL.Common.Utils.GetFileExt(filePath); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(filePath); request.Method = "GET"; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { if (response.

C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)

一.文件流 FileStream类主要用于读写磁盘文件.常用于向磁盘存储数据或读取配置文件. 读取文件:复制代码 //文件流:读取 FileStream fileStream = File.Open(@"D:\test.txt", FileMode.Open);//初始化文件流 byte[] array = new byte[fileStream.Length];//初始化字节数组,用来暂存读取到的字节 fileStream.Read(array, 0, array.Length);/

C#字符串string和内存流MemoryStream及比特数组byte[]

原文:http://hi.baidu.com/endyli/item/7bf074945de35e1f934f41fe 定义string变量为str,内存流变量为ms,比特数组为bt 1.字符串转比特数组 (1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串"); (2)byte[] bt=Convert.FromBase64String("字符串"); 2.字符串转流 (1)MemoryStream ms=

字符串string和内存流MemoryStream及比特数组byte[]互转

定义string变量为str,内存流变量为ms,比特数组为bt 1.字符串转比特数组 (1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串"); (2)byte[] bt=Convert.FromBase64String("字符串"); 2.字符串转流 (1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("

JavaSE——数据类型流、内存流、打印流

班级编号:VIP17 学员名字:小吴 课程名称:JAVASE 数据类型流 DataOutputStream是数据类型输出流,它能把基本数据类型直接写入到文件里:DataInputStream是数据类型输入输流,它能把基本数据类型直接读到程序上来,前面写出去的是什么顺序,读进来时就按写的顺序读,顺序读反了会出乱码或数据不正确,所有的流都是按先进先出原则. 先写到文件里: 再从文件里读进来: 内存流 在内存中,数组就是一块存放数据的区域,所以数组也叫数据缓存区,那么字节数组也是缓存区.ByteArr

用内存流 文件流 资源生成客户端(Delphi开源)

正文:很多木马生成器就是用的内存流和文件流生成客户端的,废话不多说了,代码如下: unit Main; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, Inifiles; typeTForm1 = class(TForm)GroupBox1: TGroupBox;msgtitle: TEdit;GroupBox2: TGroupBo

Java核心类库-IO-字节数组流/内存流

内存流(数组流): 把数据先临时存在数组中,待会再从数组中获取出来. 1. 字节内存流:ByteArrayInputStream/ByteArrayOutputStream 2. 字符内存流:CharArrayInputStream/CharArrayOutputStream 3. 字符串流:StringReader/StringWriter(把数据存放在数组中) 字节内存流: public class ByteArrayDemo { public static void main(java.l

关于 Delphi 中流的使用(1) 用 TMemoryStream(内存流) 入门 &&& 关于指针的迷惑,我自己问的.

来自:http://www.cnblogs.com/del/archive/2008/01/01/1022124.html -------------------------------------------------------------------------------------------- 前言: 所谓"流", 就是一段数据或是一块内存;在进行流操作时, 我们不必关心流中的数据到底是什么; 只需要知道流的大小和当前的指针位置. 所以流只有两个属性: Size.Posi