`
wyf
  • 浏览: 437965 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

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;
}
 
分享到:
评论

相关推荐

    C#中bitmap、stream、byte类型转换实例

    在处理图像时,我们可能会遇到需要在不同的数据类型之间转换的情况,比如从Bitmap到Stream,再到byte数组,最后再还原回Bitmap。这样的转换在上传图片、存储图片数据或在网络中传输时非常常见。本篇文章将详细介绍...

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

    C# Stream 和 byte[] 之间的转换 在 C# 编程中,Stream 和 byte[] 是两个常用的数据类型,前者表示数据流,后者表示字节数组。它们之间的转换是非常重要的,因为在实际开发中,我们经常需要在这两种数据类型之间...

    Image 和Byte数组之间转换

    ### Image与Byte数组之间的转换知识点详解 #### 一、知识点概览 在处理图像数据时,经常需要将图像对象(Image)转换为字节数组(Byte[])或者反之进行操作。这样的需求常见于网络传输、文件存储以及其他需要将图像...

    C#实现Stream与byte[]之间的转换实例教程

    本文以实例形式详细介绍了C#实现Stream与byte[]之间的转换的方法,分享给大家供大家参考之用。具体方法如下: 一、二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = ...

    图片转换格式(byte[],Stream,string)

    在处理文件或网络流时,经常需要在`Stream`和`byte[]`之间进行转换。 ##### Stream转byte[] ```csharp /// /// Stream转byte[] /// /// &lt;param name="stream"&gt;源Stream /// 转换后的byte[] public byte[] ...

    DataSet 与Byte[]之间的相互转换

    本篇将详细讲解如何在`DataSet`与`Byte[]`之间进行转换,并涉及数据压缩的相关知识。 1. `DataSet`转`Byte[]`: 当我们需要将`DataSet`的内容保存到磁盘或者通过网络发送时,可以将其转换为`Byte[]`。这通常通过...

    android byte字节数组转换十六进制字符串

    在Android开发中,有时我们需要将字节数组(byte array)转换为十六进制字符串,以便于数据存储、传输或调试。这是因为字节数组是二进制数据,而十六进制字符串则是一种人类可读的表示方式。下面我们将详细讨论如何...

    c#实现object与byte[]互转

    C#实现object与byte[]互转 在C#中,实现object与byte[]互转是一种常见的需求,特别是在网络通信和数据存储...将object转换为byte[]需要选择合适的序列化方式, BinaryFormatter 和 JsonSerializer 是两个常用的选择。

    [C#]image与byte数组的转换

    在C#编程中,图像(Image)与字节(Byte)数组之间的转换是常见的操作之一,尤其是在处理图像数据、网络传输或存储时尤为常见。本文将详细介绍如何在C#中实现图像与字节数组之间的相互转换,并提供具体的代码示例。 ...

    C# 图片转成byte存入,数据库读取byte转成图片的类

    以上就是C#中处理图片与byte数组之间转换、存储和显示的完整流程。在实际项目中,你可能需要考虑异常处理、数据库连接管理、性能优化等问题。例如,对于大量图片存储,可能需要分批处理,或者考虑使用更高效的数据...

    halcon和c++之间的图像数据转换

    这个例子展示了如何在C++与HALCON之间进行图像数据的转换和操作。在实际应用中,你可以根据需要修改这部分代码,以执行任何自定义的图像处理算法。例如,你可以添加其他滤波操作,或者改变红色和绿色通道的像素值。...

    解决Invalid byte 1 of 1-byte UTF-8 sequence

    标题 "解决Invalid byte 1 of 1-byte UTF-8 sequence" 涉及的问题是关于字符编码不匹配引发的错误,通常在处理包含非ASCII字符的文本文件时出现。UTF-8是一种广泛使用的字符编码标准,能表示世界上大部分语言的字符...

    byte数组转化为hex

    首先,我们需要理解Java中的字节数组(`byte[]`)和16进制字符串之间的关系。一个字节在Java中占用8位,可以表示-128到127之间的整数。而16进制的一个字符则表示4位(半字节),因此,一个字节可以用两个16进制字符...

    ByteStream.js:ByteStream.js是一组处理字节和位的类,并针对速度性能进行了优化

    它为搜索模式和数据转换提供了许多有用的功能。 为尽可能快的数据处理进行了优化。 方法描述清除清除现有流fromArrayBuffer 从现有的“ ArrayBuffer”初始化“ Stream”对象fromUint8Array 从现有的“ Uint8Array”...

    详谈C# 图片与byte[]之间以及byte[]与string之间的转换

    在C#编程中,数据类型之间的转换是常见的操作,特别是在处理图像、二进制数据和字符串时。本文将深入探讨如何在C#中实现图片(Image类型)与字节数组(byte[]类型)以及字节数组与字符串(string类型)之间的转换。 ...

    文字转成byte[],再转成string加密,再解密转成byte[] C#

    在C#编程中,将文字转换为`byte[]`,然后进行加密,解密后再转换回文字,是一种常见的数据安全处理方法。这种方法主要用于在网络传输中保护数据,防止数据被未经授权的第三方截取和解读,从而提高安全性。下面将详细...

    C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换

    本文将详细探讨如何在字符串(string)、内存流(MemoryStream)和比特数组(byte[])之间进行转换,这对于数据存储、网络传输或者序列化/反序列化等场景非常有用。 1. **字符串转比特数组**: - `System.Text.Encoding....

    C#将图片和字节流互相转换并显示到页面上

    C#将图片和字节流相互转换代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form.Base { classImageToByte {...

Global site tag (gtag.js) - Google Analytics