您的位置:首页 > 编程语言 > C#

C# Stream 和 byte[] 之间的转换

2015-04-29 10:44 387 查看


[align=left]C# Stream 和 byte[] 之间的转换[/align]

[align=left]一. 二进制转换成图片[/align]
[align=left]MemoryStream ms = new MemoryStream(bytes);[/align]
[align=left]ms.Position = 0;[/align]
[align=left]Image img = Image.FromStream(ms);[/align]
[align=left]ms.Close();[/align]
[align=left]this.pictureBox1.Image[/align]

[align=left]二. C#中byte[]与string的转换代码[/align]

[align=left]1、System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();[/align]
[align=left]  byte[] inputBytes =converter.GetBytes(inputString);[/align]
[align=left]  string inputString = converter.GetString(inputBytes);[/align]

[align=left]2、string inputString = System.Convert.ToBase64String(inputBytes);[/align]
[align=left]  byte[] inputBytes = System.Convert.FromBase64String(inputString);[/align]
[align=left]FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);[/align]

[align=left]三. C# Stream 和 byte[] 之间的转换[/align]

[align=left]/// 将 Stream 转成 byte[][/align]

[align=left]public byte[] StreamToBytes(Stream stream)[/align]
[align=left]{[/align]
[align=left] byte[] bytes = new byte[stream.Length];[/align]
[align=left] stream.Read(bytes, 0, bytes.Length);[/align]
[align=left] // 设置当前流的位置为流的开始[/align]
[align=left] stream.Seek(0, SeekOrigin.Begin);[/align]
[align=left] return bytes;[/align]
[align=left]}[/align]

[align=left]/// 将 byte[] 转成 Stream[/align]

[align=left]public Stream BytesToStream(byte[] bytes)[/align]
[align=left]{[/align]
[align=left] Stream stream = new MemoryStream(bytes);[/align]
[align=left] return stream;[/align]
[align=left]}[/align]

[align=left]四. Stream 和 文件之间的转换[/align]

[align=left]将 Stream 写入文件[/align]

[align=left]public void StreamToFile(Stream stream,string fileName)[/align]
[align=left]{[/align]
[align=left] // 把 Stream 转换成 byte[][/align]
[align=left] byte[] bytes = new byte[stream.Length];[/align]
[align=left] stream.Read(bytes, 0, bytes.Length);[/align]
[align=left] // 设置当前流的位置为流的开始[/align]
[align=left] stream.Seek(0, SeekOrigin.Begin);[/align]
[align=left] // 把 byte[] 写入文件[/align]
[align=left] FileStream fs = new FileStream(fileName, FileMode.Create);[/align]
[align=left] BinaryWriter bw = new BinaryWriter(fs);[/align]
[align=left] bw.Write(bytes);[/align]
[align=left] bw.Close();[/align]
[align=left] fs.Close();[/align]
[align=left]}[/align]

[align=left]五. 从文件读取 Stream[/align]

[align=left]public Stream FileToStream(string fileName)[/align]
[align=left]{ [/align]
[align=left] // 打开文件[/align]
[align=left] FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);[/align]
[align=left] // 读取文件的 byte[][/align]
[align=left] byte[] bytes = new byte[fileStream.Length];[/align]
[align=left] fileStream.Read(bytes, 0, bytes.Length);[/align]
[align=left] fileStream.Close();[/align]
[align=left] // 把 byte[] 转换成 Stream[/align]
[align=left] Stream stream = new MemoryStream(bytes);[/align]
[align=left] return stream;[/align]
[align=left]}[/align]
[align=left] [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: