当前位置: 首页 > news >正文

文件与二进制流互转

转载自:http://blog.sina.com.cn/s/blog_407fb5bc0100kczw.html

一. 二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream(ms); ms.Close(); this.pictureBox1.Image

二. C#中byte[]与string的转换代码

1、System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();   byte[] inputBytes =converter.GetBytes(inputString);   string inputString = converter.GetString(inputBytes);

2、string inputString = System.Convert.ToBase64String(inputBytes);   byte[] inputBytes = System.Convert.FromBase64String(inputString); FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);

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

/// 将 Stream 转成 byte[]

public byte[] StreamToBytes(Stream stream) {     byte[] bytes = new byte[stream.Length];     stream.Read(bytes, 0, bytes.Length);     // 设置当前流的位置为流的开始     stream.Seek(0, SeekOrigin.Begin);     return bytes; }

/// 将 byte[] 转成 Stream

public Stream BytesToStream(byte[] bytes) {     Stream stream = new MemoryStream(bytes);     return stream; }

四. Stream 和 文件之间的转换

将 Stream 写入文件

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(); }

五. 从文件读取 Stream

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; }

 

转载于:https://www.cnblogs.com/EggKiller/archive/2013/01/27/2879019.html

相关文章:

  • 编译与链接的问题 gcc -fPIC -shared
  • PHP为什么会被认为是草根语言?
  • 希腊神话确实是人类精神文明的宝藏
  • 2013应届毕业生“人人网”校招应聘总结
  • ABAP SY标签一览表
  • 选择排序与冒泡排序
  • 补一篇,Update Rollup 12 终于发布了
  • SQL查询重复记录
  • 雅思_百度百科
  • 开源实时流处理系统小结
  • [转]Resetting and pausing target processor: FALSE 错误的解决
  • 领域驱动设计与模式实战文摘
  • onchange事件学习
  • Android 中的JUnit
  • [转]ORACLE10GR2,dbca时ora-27125错误解决方法
  • 【Leetcode】101. 对称二叉树
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • HTTP--网络协议分层,http历史(二)
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • javascript数组去重/查找/插入/删除
  • laravel with 查询列表限制条数
  • Linux链接文件
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 仿天猫超市收藏抛物线动画工具库
  • 分享一份非常强势的Android面试题
  • 设计模式(12)迭代器模式(讲解+应用)
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 线上 python http server profile 实践
  • ​渐进式Web应用PWA的未来
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ###项目技术发展史
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (02)vite环境变量配置
  • (30)数组元素和与数字和的绝对差
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (arch)linux 转换文件编码格式
  • (论文阅读11/100)Fast R-CNN
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .“空心村”成因分析及解决对策122344
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • @ResponseBody
  • @Responsebody与@RequestBody
  • [1181]linux两台服务器之间传输文件和文件夹
  • [20150904]exp slow.txt
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [22]. 括号生成
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [C++随笔录] 红黑树