-
-
/* - - - - - - - - - - - - - - - - - - - - - - - -
* 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[]类型转换的详细过程。在实际应用中,你可能需要根据具体需求调整代码,比如处理不同格式的图像或优化性能。在处理大图片时,要特别注意内存使用,因为这些转换可能会占用大量内存...
本文以实例形式详细介绍了C#实现Stream与byte[]之间的转换的方法,分享给大家供大家参考之用。具体方法如下: 一、二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = ...
在C#中,实现object与byte[]互转是一种常见的需求,特别是在网络通信和数据存储中。这篇文章将详细介绍如何将object转换为byte[],并介绍相关的知识点。 序列化 序列化是将对象转换为二进制数组的过程。C#提供了...
以上就是C#中处理图片与byte数组之间转换、存储和显示的完整流程。在实际项目中,你可能需要考虑异常处理、数据库连接管理、性能优化等问题。例如,对于大量图片存储,可能需要分批处理,或者考虑使用更高效的数据...
在C#编程中,图像(Image)与字节(Byte)数组之间的转换是常见的操作之一,尤其是在处理图像数据、网络传输或存储时尤为常见。本文将详细介绍如何在C#中实现图像与字节数组之间的相互转换,并提供具体的代码示例。 ...
C#将图片和字节流相互转换代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form.Base { classImageToByte {...
本篇将详细讲解如何在`DataSet`与`Byte[]`之间进行转换,并涉及数据压缩的相关知识。 1. `DataSet`转`Byte[]`: 当我们需要将`DataSet`的内容保存到磁盘或者通过网络发送时,可以将其转换为`Byte[]`。这通常通过...
本文将详细探讨如何在字符串(string)、内存流(MemoryStream)和比特数组(byte[])之间进行转换,这对于数据存储、网络传输或者序列化/反序列化等场景非常有用。 1. **字符串转比特数组**: - `System.Text.Encoding....
在C#编程中,处理图像数据时经常需要将图片转换为byte数组,以便于存储到数据库或在网络上传输。反之,从数据库中读取到byte数组后,也需要将其转换回Image对象进行显示或进一步处理。这里我们将详细探讨如何实现C#...
在C#中,可以使用MemoryStream和Image.FromStream将二进制数组转换成图片。具体实现代码如下: ```csharp public void ShowImgByByte(byte[] imgBytesIn) { MemoryStream ms = new MemoryStream(imgBytesIn); ...
2. `BitConverter`类:C# 提供了`System.BitConverter`类,用于在字节序列和基本类型之间进行转换。例如,我们可以用它将`int`转换为字节数组,反之亦然,这对于处理二进制数据非常有用。 3. `Stream`类:在处理...
在C#编程中,数据类型之间的转换是常见的操作,特别是在处理图像、二进制数据和字符串时。本文将深入探讨如何在C#中实现图片(Image类型)与字节数组(byte[]类型)以及字节数组与字符串(string类型)之间的转换。 ...
在C#编程中,将文字转换为`byte[]`,然后进行加密,解密后再转换回文字,是一种常见的数据安全处理方法。这种方法主要用于在网络传输中保护数据,防止数据被未经授权的第三方截取和解读,从而提高安全性。下面将详细...
在C#编程中,`FileStream`是`System.IO`命名空间中的一个类,它用于读取和写入文件。这个类提供了对文件的低级访问,允许开发者按字节流处理文件。`FileStream`是`Stream`类的一个具体实现,`Stream`类是所有输入/...
本篇将深入探讨如何在C#中进行二进制数组与常规数组之间的转换,以及二进制序列化和JSON序列化的应用及其反序列化过程。 首先,让我们来看看二进制数组与常规数组之间的转换。在C#中,二进制数组通常用byte[]表示,...
6. 图片转换:使用 Image.FromStream 方法可以将图片数据转换为 Image 对象。 在实际应用中,BLOB 读取操作可以用于各种场景,例如: * 图片上传和下载:在 Web 应用程序中,用户可以上传图片,服务器端可以将图片...
本篇将详细介绍如何使用C#实现Image与Byte Array之间的转换,并基于提供的类库源码进行解析。 首先,`ImageConverter.cs` 文件很可能包含了实现这两个转换的核心代码。在这个类库中,通常会有一个名为 `...