Stream 和 byte[] 之间的转换
来源:互联网 发布:淘宝特卖商城 编辑:程序博客网 时间:2024/05/20 23:07
一. 二进制转换成图片
1
2
3
4
5
MemoryStream ms =
new
MemoryStream(bytes);
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
this
.pictureBox1.Image
二. C#中byte[]与string的转换代码
1.
1
2
3
System.Text.UnicodeEncoding converter =
new
System.Text.UnicodeEncoding();
byte
[] inputBytes =converter.GetBytes(inputString);
string
inputString = converter.GetString(inputBytes);
2.
1
2
3
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// 将 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;
}
/// 将 byte[] 转成 Stream
public
Stream BytesToStream(
byte
[] bytes)
{
Stream stream =
new
MemoryStream(bytes);
return
stream;
}
四. Stream 和 文件之间的转换
将 Stream 写入文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;
}
六
1
2
3
4
5
6
//Bitmap 转化为 Byte[]
Bitmap BitReturn =
new
Bitmap();
byte
[] bReturn =
null
;
MemoryStream ms =
new
MemoryStream();
BitReturn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
bReturn = ms.GetBuffer();
七
文件存储Dictionary或其它容器信息
public static int Save_Room_Information() //保存信息 { FileStream fr = new FileStream("Room.bin", FileMode.OpenOrCreate); BinaryFormatter st = new BinaryFormatter(); st.Serialize(fr, RoomInformation); fr.Close(); return 1; } public static int Load_Room_Information() //载入信息 { FileStream fr = new FileStream("Room.bin", FileMode.Open); BinaryFormatter st = new BinaryFormatter(); RoomInformation = (Dictionary<int,List<Film>>)st.Deserialize(fr);
fr.close();
return 1;
}
转载自:http://www.cnblogs.com/warioland/archive/2012/03/06/2381355.html
0 0
- Stream 和 byte[] 之间的转换
- Stream 和 byte[] 之间的转换
- Stream 和 byte[] 之间的转换
- Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- (转)Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- C#+Stream+和+byte[]+之间的转换
- C# Stream 和 byte[] 之间的转换
- C# Stream 和 byte[] 之间的转换
- linux下用python统计某个目录下指定后缀文件的个数
- 118. Pascal's Triangle
- 移动办公没那么简单,也没那么难
- C++ 总结
- Git使用简易教程
- Stream 和 byte[] 之间的转换
- Linux服务器上监控网络带宽的18个常用命令
- leetcode 94. Binary Tree Inorder Traversal
- 将你的Vim 打造成轻巧强大的IDE
- javascript学习——DOM扩展
- Linux服务器上监控网络带宽的18个常用命令
- MPI编程指南(二)
- 闰年判断方法及原因
- 用Delphi实现邮件附件收发功能(使用Pop3 和Smtp)