当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现Stream与byte[]之间的转换实例教程

C#实现Stream与byte[]之间的转换实例教程

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文以实例形式详细介绍了c#实现stream与byte[]之间的转换的方法,分享给大家供大家参考之用。具体方法如下: 一、二进制转换成图片 memorystre

本文以实例形式详细介绍了c#实现stream与byte[]之间的转换的方法,分享给大家供大家参考之用。具体方法如下:

一、二进制转换成图片

memorystream ms = new memorystream(bytes); 
ms.position = 0; 
image img = image.fromstream(ms); 
ms.close(); 
this.picturebox1.image

二、c#中byte[]与string的转换代码

1.

system.text.unicodeencoding converter = new system.text.unicodeencoding(); 
byte[] inputbytes =converter.getbytes(inputstring); 
string inputstring = converter.getstring(inputbytes);

2.

string inputstring = system.convert.tobase64string(inputbytes); 
byte[] inputbytes = system.convert.frombase64string(inputstring); 
filestream filestream = new filestream(filename, filemode.open, fileaccess.read, fileshare.read);

三、c# stream 和 byte[] 之间的转换

1.将 stream 转成 byte[] 

public byte[] streamtobytes(stream stream) 
{ 
  byte[] bytes = new byte[stream.length]; 
  stream.read(bytes, 0, bytes.length); 
  // 设置当前流的位置为流的开始 
  stream.seek(0, seekorigin.begin); 
  return bytes; 
} 

2.将 byte[] 转成 stream 

public stream bytestostream(byte[] bytes) 
{ 
  stream stream = new memorystream(bytes); 
  return stream; 
}

四、stream 和 文件之间的转换

将 stream 写入文件

public void streamtofile(stream stream,string filename) 
{ 
  // 把 stream 转换成 byte[] 
  byte[] bytes = new byte[stream.length]; 
  stream.read(bytes, 0, bytes.length); 
  // 设置当前流的位置为流的开始 
  stream.seek(0, seekorigin.begin); 
  // 把 byte[] 写入文件 
  filestream fs = new filestream(filename, filemode.create); 
  binarywriter bw = new binarywriter(fs); 
  bw.write(bytes); 
  bw.close(); 
  fs.close(); 
}

五、从文件读取 stream

public stream filetostream(string filename) 
{       
  // 打开文件 
  filestream filestream = new filestream(filename, filemode.open, fileaccess.read, fileshare.read); 
  // 读取文件的 byte[] 
  byte[] bytes = new byte[filestream.length]; 
  filestream.read(bytes, 0, bytes.length); 
  filestream.close(); 
  // 把 byte[] 转换成 stream 
  stream stream = new memorystream(bytes); 
  return stream; 
}

六、bitmap 转化为 byte[]

bitmap bitreturn = new bitmap(); 
byte[] breturn = null; 
memorystream ms = new memorystream(); 
bitreturn.save(ms, system.drawing.imaging.imageformat.png); 
breturn = ms.getbuffer();

相信本文所述对大家的c#程序设计有一定的借鉴价值。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网