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

    转的,参考http://www.cnblogs.com/goody9807/archive/2008/03/04/1090613.html

    /* - - - - - - - - - - - - - - - - - - - - - - - -
    * 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;
    }

    By:Smok.
  • 相关阅读:
    LeetCode 1110. Delete Nodes And Return Forest
    LeetCode 473. Matchsticks to Square
    LeetCode 886. Possible Bipartition
    LeetCode 737. Sentence Similarity II
    LeetCode 734. Sentence Similarity
    LeetCode 491. Increasing Subsequences
    LeetCode 1020. Number of Enclaves
    LeetCode 531. Lonely Pixel I
    LeetCode 1091. Shortest Path in Binary Matrix
    LeetCode 590. N-ary Tree Postorder Traversal
  • 原文地址:https://www.cnblogs.com/ouyanga/p/2076209.html
Copyright © 2011-2022 走看看