博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# Stream 和 byte[] 之间的转换
阅读量:7168 次
发布时间:2019-06-29

本文共 1474 字,大约阅读时间需要 4 分钟。

/*
 - - - - - - - - - - - - - - - - - - - - - - - - 
 * Stream 和 byte[] 之间的转换
 * - - - - - - - - - - - - - - - - - - - - - - - 
*/
///
 
<summary>
///
 将 Stream 转成 byte[]
///
 
</summary>
public
 
byte
[] StreamToBytes(Stream stream)
{
    
byte
[] bytes 
=
 
new
 
byte
[stream.Length];
    stream.Read(bytes, 
0
, bytes.Length);
    
//
 设置当前流的位置为流的开始
    stream.Seek(
0
, SeekOrigin.Begin);
    
return
 bytes;
}
///
 
<summary>
///
 将 byte[] 转成 Stream
///
 
</summary>
public
 Stream BytesToStream(
byte
[] bytes)
{
    Stream stream 
=
 
new
 MemoryStream(bytes);
    
return
 stream;
}
/*
 - - - - - - - - - - - - - - - - - - - - - - - - 
 * Stream 和 文件之间的转换
 * - - - - - - - - - - - - - - - - - - - - - - - 
*/
///
 
<summary>
///
 将 Stream 写入文件
///
 
</summary>
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();
}
///
 
<summary>
///
 从文件读取 Stream
///
 
</summary>
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;
}

转载地址:http://fztwm.baihongyu.com/

你可能感兴趣的文章
[翻译] Icon and Image Sizes
查看>>
云计算设计模式(十八)——重试模式
查看>>
KBMMW 4.84.00 发布
查看>>
Debug Assertion Failed! Expression: _pFirstBlock == pHead
查看>>
BZOJ 1877: [SDOI2009]晨跑 费用流
查看>>
zabbix 2.0.6 监控nginx
查看>>
简明 Vim 练级攻略
查看>>
Linux内核OOM机制的详细分析
查看>>
Go项目结构和模块导入
查看>>
磁盘性能分析之iotop
查看>>
华为第七届无线编码大赛总结(转)
查看>>
[LeetCode] Game of Life 生命游戏
查看>>
nefu 462 fib组合
查看>>
.Net下一个Winform方案可以让MessageBox.Show它显示在父窗口的中间
查看>>
[swift] Async
查看>>
软体project(两)——软体project
查看>>
Native code - how to get function call stack (backtrace) programatically 附带源代码
查看>>
loadrunner中切割字符串
查看>>
MapReduce调度器
查看>>
数字视频基础(三)
查看>>