基础才是重中之重~stream和byte[]的概念与转化
时间: 2023-07-16 15:15:22 浏览: 90
Stream 和 byte[] 都是用于处理二进制数据的数据类型。Stream 是一个抽象类,定义了一些读写二进制数据的方法,它可以用于从一个源读取数据,也可以用于向一个目标写入数据。byte[] 则是一个字节数组,它可以存储一些二进制数据。
在使用 Stream 处理二进制数据时,通常需要将数据从 byte[] 转换为 Stream,或者将数据从 Stream 转换为 byte[]。这可以通过 Stream 的派生类来实现,例如 MemoryStream 和 FileStream。以下是一些常用的方法:
1. 将 byte[] 转换为 MemoryStream:
```csharp
byte[] data = { 0x41, 0x42, 0x43, 0x44 };
MemoryStream stream = new MemoryStream(data);
```
2. 将 Stream 转换为 byte[]:
```csharp
MemoryStream stream = new MemoryStream();
byte[] data = stream.ToArray();
```
3. 将 Stream 写入到文件中:
```csharp
FileStream fileStream = new FileStream("test.bin", FileMode.Create);
MemoryStream memoryStream = new MemoryStream(data);
memoryStream.CopyTo(fileStream);
fileStream.Close();
```
4. 从文件中读取数据到 Stream:
```csharp
FileStream fileStream = new FileStream("test.bin", FileMode.Open);
MemoryStream memoryStream = new MemoryStream();
fileStream.CopyTo(memoryStream);
byte[] data = memoryStream.ToArray();
fileStream.Close();
```
需要注意的是,在处理二进制数据时,需要了解数据的编码方式和格式,以便正确地读写数据。同时,需要注意内存和性能方面的考虑,避免出现内存泄漏和性能瓶颈。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)