zoukankan      html  css  js  c++  java
  • C# Stream 和 byte[] 之间的转换

    http://www.jb51.net/article/13706.htm

    /* - - - - - - - - - - - - - - - - - - - - - - - - 
    * 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://yelaiju.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    5、Android Service测试
    javassist示例
    HeaderExchangeClient
    dubbo 心跳
    javassist和jdk动态代理
    dubbo为consumer创建代理
    线程同步知识点
    SynchronousQueue类
    Executors类的newFixedThreadPool, newCachedThreadPool, newScheduledThreadPool
    eclipse设置条件断点
  • 原文地址:https://www.cnblogs.com/yelaiju/p/1829858.html
Copyright © 2011-2022 走看看