/* - - - - - - - - - - - - - - - - - - - - - - - -
* 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;
}
分享到:
相关推荐
在处理图像时,我们可能会遇到需要在不同的数据类型之间转换的情况,比如从Bitmap到Stream,再到byte数组,最后再还原回Bitmap。这样的转换在上传图片、存储图片数据或在网络中传输时非常常见。本篇文章将详细介绍...
C# Stream 和 byte[] 之间的转换 在 C# 编程中,Stream 和 byte[] 是两个常用的数据类型,前者表示数据流,后者表示字节数组。它们之间的转换是非常重要的,因为在实际开发中,我们经常需要在这两种数据类型之间...
### Image与Byte数组之间的转换知识点详解 #### 一、知识点概览 在处理图像数据时,经常需要将图像对象(Image)转换为字节数组(Byte[])或者反之进行操作。这样的需求常见于网络传输、文件存储以及其他需要将图像...
本文以实例形式详细介绍了C#实现Stream与byte[]之间的转换的方法,分享给大家供大家参考之用。具体方法如下: 一、二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = ...
在处理文件或网络流时,经常需要在`Stream`和`byte[]`之间进行转换。 ##### Stream转byte[] ```csharp /// /// Stream转byte[] /// /// <param name="stream">源Stream /// 转换后的byte[] public byte[] ...
本篇将详细讲解如何在`DataSet`与`Byte[]`之间进行转换,并涉及数据压缩的相关知识。 1. `DataSet`转`Byte[]`: 当我们需要将`DataSet`的内容保存到磁盘或者通过网络发送时,可以将其转换为`Byte[]`。这通常通过...
在Android开发中,有时我们需要将字节数组(byte array)转换为十六进制字符串,以便于数据存储、传输或调试。这是因为字节数组是二进制数据,而十六进制字符串则是一种人类可读的表示方式。下面我们将详细讨论如何...
C#实现object与byte[]互转 在C#中,实现object与byte[]互转是一种常见的需求,特别是在网络通信和数据存储...将object转换为byte[]需要选择合适的序列化方式, BinaryFormatter 和 JsonSerializer 是两个常用的选择。
在C#编程中,图像(Image)与字节(Byte)数组之间的转换是常见的操作之一,尤其是在处理图像数据、网络传输或存储时尤为常见。本文将详细介绍如何在C#中实现图像与字节数组之间的相互转换,并提供具体的代码示例。 ...
以上就是C#中处理图片与byte数组之间转换、存储和显示的完整流程。在实际项目中,你可能需要考虑异常处理、数据库连接管理、性能优化等问题。例如,对于大量图片存储,可能需要分批处理,或者考虑使用更高效的数据...
标题 "解决Invalid byte 1 of 1-byte UTF-8 sequence" 涉及的问题是关于字符编码不匹配引发的错误,通常在处理包含非ASCII字符的文本文件时出现。UTF-8是一种广泛使用的字符编码标准,能表示世界上大部分语言的字符...
首先,我们需要理解Java中的字节数组(`byte[]`)和16进制字符串之间的关系。一个字节在Java中占用8位,可以表示-128到127之间的整数。而16进制的一个字符则表示4位(半字节),因此,一个字节可以用两个16进制字符...
它为搜索模式和数据转换提供了许多有用的功能。 为尽可能快的数据处理进行了优化。 方法描述清除清除现有流fromArrayBuffer 从现有的“ ArrayBuffer”初始化“ Stream”对象fromUint8Array 从现有的“ Uint8Array”...
在C#编程中,数据类型之间的转换是常见的操作,特别是在处理图像、二进制数据和字符串时。本文将深入探讨如何在C#中实现图片(Image类型)与字节数组(byte[]类型)以及字节数组与字符串(string类型)之间的转换。 ...
这个例子展示了如何在C++与HALCON之间进行图像数据的转换和操作。在实际应用中,你可以根据需要修改这部分代码,以执行任何自定义的图像处理算法。例如,你可以添加其他滤波操作,或者改变红色和绿色通道的像素值。...
在C#编程中,将文字转换为`byte[]`,然后进行加密,解密后再转换回文字,是一种常见的数据安全处理方法。这种方法主要用于在网络传输中保护数据,防止数据被未经授权的第三方截取和解读,从而提高安全性。下面将详细...
在C#编程中,处理图像数据时经常需要将图片转换为byte数组,以便于存储到数据库或在网络上传输。反之,从数据库中读取到byte数组后,也需要将其转换回Image对象进行显示或进一步处理。这里我们将详细探讨如何实现C#...
C#将图片和字节流相互转换代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form.Base { classImageToByte {...