开发者社区> 阿笨net> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: /* - - - - - - - - - - - - - - - - - - - - - - - -  * Stream 和 byte[] 之间的转换 * - - - - - - - - - - - - - - - - - - - - - - - *//// /// 将 Stream 转成 byte...
+关注继续查看
/* - - - - - - - - - - - - - - - - - - - - - - - - 
 * 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;
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CUDA stream默认流与非默认流
CUDA stream默认流与非默认流
5 0
JDK8新特性之Stream流
是什么是Stream流 java.util.stream.Stream Stream流和传统的IO流,它们都叫流,却是两个完全不一样的概念和东西。 流可以简单的说是处理数据集合的东西,可以申明式流式API来处理集合,而不是写一个逻辑实现。 流分类 流分为顺序流及并行流,顺序流即每个指令按顺序执行,并行流即集合里面的操作并行执行。
40 0
JDK8新特性之Stream流
是什么是Stream流 java.util.stream.Stream Stream流和传统的IO流,它们都叫流,却是两个完全不一样的概念和东西。 流可以简单的说是处理数据集合的东西,可以申明式流式API来处理集合,而不是写一个逻辑实现。
897 0
string与byte[]相互转换方法
        public static string ByteArray2String(byte[] contentByte)         {             string result = string.
804 0
AVStream ddk 翻译
<p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; color: rgb(102, 102, 102); font-family: 宋体, Arial; font-size: 16px; line-height: 26px;"><
1444 0
Blob、InputStream、byte[] 互转
在我们的程序开发当中,经常会用到java.sql.Blob、byte[]、InputStream之间的相互转换,但在JDK的API当中,又没有直接给我们提供可用的API,下面的程序片段主要就是实现它们之间互换的util. 一、byte[]=&gt;Blob 我们可以通过Hibernate提供的表态方法来实现如:org.hibernate.Hibernate.Hibernate.crea
1763 0
分析:BPM与SOA之间的区别及联系
关于业务流程管理(BPM)和面向服务架构(SOA)之间关系的讨论热闹非凡。二者也是多年来的热门话题,但是关于它们的讨论通常都出现在互不相关的论坛上,讨论它们的人通常也属于不同的圈子。
651 0
+关注
842
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载