欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-20 21:39:16
本文以实例形式详细介绍了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#程序设计有一定的借鉴价值。

上一篇:

下一篇: