Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C# Stream 和 byte[] 之间的转换

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

作者头像
跟着阿笨一起玩NET
发布于 2018-09-18 07:19:43
发布于 2018-09-18 07:19:43
1.6K00
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* - - - - - - - - - - - - - - - - - - - - - - - - 
 * Stream 和 byte[] 之间的转换
 * - - - - - - - - - - - - - - - - - - - - - - - */
///<summary>
/// 将 Stream 转成 byte[]
///</summary>
publicbyte[] StreamToBytes(Stream stream)
{
byte[] bytes =newbyte[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>
publicvoid StreamToFile(Stream stream,string fileName)
{
// 把 Stream 转换成 byte[]
byte[] bytes =newbyte[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 =newbyte[fileStream.Length];
    fileStream.Read(bytes, 0, bytes.Length);
    fileStream.Close();
// 把 byte[] 转换成 Stream
    Stream stream =new MemoryStream(bytes);
return stream;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-06-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2019 工业信息安全竞赛总结
参加了今年的工控安全比赛,这个比赛分为线上赛(五场,每一场都可以参加,取最好成绩一场),线下复赛(前 60 名),线下决赛(复赛前三十名),我和两个同学组队,最后拿到了第三场线上第一,线下复赛第九,决赛第七名的成绩
p4nda
2023/01/03
5690
2019 工业信息安全竞赛总结
C# FileStream简单介绍和使用
使用try{} catch(Exception ex){} 进行一次捕获;
全栈程序员站长
2022/09/15
9760
C#自动识别文件编码
在做导入微信商户后台退款数据时,无论怎么设置编码导出来都是乱码,后来在网上找了这个识别文件编码的代码,感觉不错。 最后识别出来是gb2312,看来我还是太渣了,只能吃土了,竟然忘记了这个编码。 下面,上代码。 1 /// <summary> 2 /// 用于取得一个文本文件的编码方式(Encoding)。 3 /// </summary> 4 public class TxtFileEncoder 5 { 6 pub
晓晨
2018/06/22
2.2K0
C#实现文件下载,支持断点续传
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.IO; using System.Text; using System.Net; namespace simpleDemo { class Program { /// <summary> /// 下载文件保留字 /// </summary>
用户8671053
2021/11/02
2K0
Stream实战
在夜晚,仰望星空的时候,你只能看到星星和月亮。在Stream的世界里,你只能看到无数的0和1组成的二进制数据(byte)。我们在网络中传输的数据,其实都是以一组有序的byte的形式传输的。
小蜜蜂
2019/07/15
1.2K0
Stream实战
C#通过URl批量下载&打包压缩
** 实现解压缩功能公用类。 using ICSharpCode.SharpZipLib.Zip**
用户9857551
2023/10/17
5260
C#文件
文件 ----   文件 是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时,它变成一个流。   从根本上说,流是通过通信路径传递的字节序列。有两个主要的流:输入流 和输出流。输入流用于从文件读取数据(读操作),输出流用于向文件写入数据(写操作)。 System.IO.File类和System.IO.FileInfo类主要提供用于执行各种文件的操作,如创建和删除文件、读取或写入文件,打开或关闭文件等。另外有时我们还会用到System.IO.Path类、Directory类等,在使用时要
拾点阳光
2018/05/10
1.2K0
.netcore+vue 实现压缩文件下载
目前接触的项目中,给定的需求是将系统内所有用户的数据整理好,并保存到文件夹内,目的主要是防止用户在实施人员已配置好的基础上由于不熟悉系统,导致的误删或者误操作。减少实施人员的配置工作。我首先想到的就是将数据导入到Excel中,并以各个用户的名称命名文件夹做好分类。
跟着阿笨一起玩NET
2022/05/12
6930
C# dotnet 将 Stream 保存到文件的方法
这里的 inputStream.Seek(0, SeekOrigin.Begin); 不一定需要,请根据你自己的需求,如你只需要将这个 Stream 的从第10个byte开始复制等就不能采用这句代码
林德熙
2020/03/20
4.4K0
C# FileStream类
FileShare 枚举类型主要用于设置多个对象同时访问同一个文件时的访问控制,具体的枚举值如下。
全栈程序员站长
2022/09/15
7840
xml 与 DataSet
XmlDatasetConvert 该类提供了四种方法:     1、将xml对象内容字符串转换为DataSet     2、将xml文件转换为DataSet     3、将DataSet转换为xml对象字符串     4、将DataSet转换为xml文件
跟着阿笨一起玩NET
2018/09/18
7140
XML与DataSet的相互转换类
送给大家一个XML与DataSet的相互转换的类:XmlDatasetConvert该类提供了四种网络
Java架构师必看
2021/03/22
6120
记录C#常用的代码片段
using Newtonsoft.Json; using Newtonsoft.Json.Linq;
tandaxia
2018/09/27
7290
Stream篇(1)
最近在看一个写的很好的博客,为了加深记忆,把自认为重要的东西,一边看,一边记在这里 一、什么是流、字节序列、字节 一条河中有一条鱼游过,这条鱼就是一个字节,这个字节包括眼睛、嘴巴等8组成8个二进制的位,而这条河就是流。 字节按照一定的顺序进行排序组成了字节序列。 二、Stream 它有一个protected类型的构造函数,但是它是个抽象类无法直接像如下这样使用: Stream stream=new Stream(); 重要的属性: 1、CanRead:只读,判断该流是否能够读取 2、CanSeek:只读,判
小端
2018/04/16
7770
C# 温故而知新:Stream篇(—)
目录: 什么是Stream? 什么是字节序列? Stream的构造函数 Stream的重要属性及方法 Stream的示例 Stream异步读写 Stream 和其子类的类图 本章总结 什么是Strea
逸鹏
2018/04/10
8160
C# 温故而知新:Stream篇(—)
C# 温故而知新:Stream篇(—)
C# 温故而知新:Stream篇(—) 什么是Stream? MSDN 中的解释太简洁了: 提供字节序列的一般视图 (我可不想这么理解,这必定让我抓狂,我理解的流是向自然界的河流那样清澈而又美丽,c#
小端
2018/04/16
1.4K0
C# 温故而知新:Stream篇(—)
C#常用的IO操作方法
public class IoHelper { /// <summary> /// 判断文件是否存在 /// </summary>
彭泽0902
2018/01/04
9490
Content-Disposition的使用和注意事项
近日在使用Content-disposition的使用出现UTF-8识别不了的情况,经过HttpUtility.UrlEncode(fileName,Encoding.UTF8)编码后的文件名称直接显示给用户了,如图:
全栈程序员站长
2022/09/07
6850
Content-Disposition的使用和注意事项
Stream 在 C# 中是如何工作的?
流是 C# 中的一个基本概念,用于处理可能需要一些时间才能完成的大量数据、网络通信和文件 I/O 操作。在许多情况下,这些操作的持续时间是不可预测的,因此拥有一种在等待结果时不会阻止整个过程的机制至关重要。
郑子铭
2024/11/23
1K0
Stream 在 C# 中是如何工作的?
c#FileStream文件读写.以及filestream,file和FileInfo的区别
//C#文件流写文件,默认追加FileMode.Append string msg = “okffffffffffffffff”; byte[] myByte = System.Text.Encoding.UTF8.GetBytes(msg); using (FileStream fsWrite = new FileStream(@”D:\1.txt”, FileMode.Append)) { fsWrite.Write(myByte, 0, myByte.Length); }; //c#文件流读文件 using (FileStream fsRead = new FileStream(@”D:\1.txt”, FileMode.Open)) { int fsLen = (int)fsRead.Length; byte[] heByte = new byte[fsLen]; int r = fsRead.Read(heByte, 0, heByte.Length); string myStr = System.Text.Encoding.UTF8.GetString(heByte); Console.WriteLine(myStr); Console.ReadKey(); }
全栈程序员站长
2022/09/15
1.1K0
相关推荐
2019 工业信息安全竞赛总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档