C#中,Stream和Byte[]的转换
2016-07-10 13:00
381 查看
1.Convert Byte[] to Stream:
Stream s = new MemoryStream(byteArray);
2.Convert Stream to Bytep[]:
Stream s = new MemoryStream(byteArray);
2.Convert Stream to Bytep[]:
byte[] m_Bytes = ReadToEnd(myStream); Public static byte[] readToEnd(System.IO.Stream stream) { long originalPosition = stream.Position; stream.Position = 0; try { byte[] readBuffer = new byte[4096]; //最大Size int totalBytesRead = 0; int bytesRead; while((bytesRead = stream.Read(readBuffer, totalBytesRead, readBuffer.Length-totalBytesRead))>0) { totalBytesRead += bytesRead; if (totalBytesRead == readBuffer.Length) { int nextByte = stream.ReadByte(); if (nextByte != -1) { byte[] temp = new byte[readBuffer.Length * 2]; Buffer.BlockCopy(readBuffer, 0, temp, 0, readBuffer.Length); Buffer.SetByte(temp, totalBytesRead, (byte)nextByte); readBuffer = temp; totalBytesRead++; } } } byte[] buffer = readBuffer; if (readBuffer.Length != totalBytesRead) { buffer = new byte[totalBytesRead]; Buffer.BlockCopy(readBuffer, 0, buffer, 0, totalBytesRead); } return buffer; } finally { stream.Position = originalPosition; } }
相关文章推荐
- C#写的工厂抽象模式
- C#的CSV文件导入导出
- c#新手入门级代码分享 输出枚举类型中所有成员的名称
- c#新手入门级代码分享 枚举类型。输出数值所对应的变量名称
- c#新手入门级代码分享 隐式声明一维int型数组,并遍历输出
- c#新手入门级代码分享 getlength方法的到一个三维数组的页,行,列
- c#新手入门级代码分享 foreach遍历交错型数组
- C# winform DataGridView 操作大全
- C#的winForm下释放资源
- c#的第二节课
- C# datagridview 如何设置datagridview隔行变色。
- C# mouse keyboard monitor
- 18位身份证号验证算法的原理以及C#实现和在管理系统的应用
- C#取得webconfig中保存的信息
- C#文件上传
- [C#6] 7-索引初始化器
- Kinect基础之在WinForm(C#)中显示彩色数据和深度数据
- C#往DB中插入上传的文件
- C#获取ip的示例
- 用C#语言实现八皇后问题