C# Stream 和 byte[] 之间的转换(文件流的应用)
MemoryStream?ms?=?new?MemoryStream(bytes);
ms.Position?=?0;
Image?img?=?Image.FromStream(ms);
ms.Close();
this.pictureBox1.Image
二.?C#中byte[]與string的轉(zhuǎn)換代碼
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[]?之間的轉(zhuǎn)換
///?將?Stream?轉(zhuǎn)成?byte[]
public?byte[]?StreamToBytes(Stream?stream)?
{
byte[]?bytes?=?new?byte[stream.Length];?
stream.Read(bytes,?0,?bytes.Length);?
//?設(shè)置當(dāng)前流的位置為流的開始?
stream.Seek(0,?SeekOrigin.Begin);?
return?bytes;?
}
///?將?byte[]?轉(zhuǎn)成?Stream
public?Stream?BytesToStream(byte[]?bytes)?
{?
Stream?stream?=?new?MemoryStream(bytes);?
return?stream;?
}
四.?Stream?和?文件之間的轉(zhuǎn)換
將?Stream?寫入文件
public?void?StreamToFile(Stream?stream,string?fileName)?
{?
//?把?Stream?轉(zhuǎn)換成?byte[]?
byte[]?bytes?=?new?byte[stream.Length];?
stream.Read(bytes,?0,?bytes.Length);?
//?設(shè)置當(dāng)前流的位置為流的開始?
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[]?轉(zhuǎn)換成?Stream?
Stream?stream?=?new?MemoryStream(bytes);?
return?stream;
}
總結(jié)
以上是生活随笔為你收集整理的C# Stream 和 byte[] 之间的转换(文件流的应用)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sublime Text2,跨平台神级编
- 下一篇: window server 2012 I