开发者社区> allen_chen_0118> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C# 文件流相关操作

简介: 二进制转换成图片: MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream(ms); ms.
+关注继续查看

二进制转换成图片:

 MemoryStream ms = new MemoryStream(bytes);
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
this.pictureBox1.Image

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

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

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[] 之间的转换:

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 写入文件:

 

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

 

转自:http://www.cnblogs.com/Mr_JinRui/archive/2010/07/05/1771184.html

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#中的文件操作
原文:C#中的文件操作 读操作: 方法1: string str = File.ReadAllText(@filepath, Encoding.Default); 方法2: byte[] buffer = File.
614 0
文件操作
C++通过以下几个类支持文件的输入输出 (1)      ofstream:写操作,输出文件类; (2)      ifstream:读操作,输入文件类; (3)      fstream:可同时读写的文件类。
702 0
C# 文件操作
转自博客 http://www.cnblogs.com/qinfei/archive/2005/11/03/268229.html 文件操作: 检查 创建 读取 写入 修改 删除目录操作: 检查 创建 读取 写入 修改 删除 文件操作 若要执行此操作.
816 0
C++文件操作初体验
【摘要】学习是可以基于需求的,其必要性超了另外一种观点:按课本的顺序学。本文介绍了在C++中使用文件的最基本的方法,并试图通过给出的练习,使C++初学者能够对实际项目中输入输出中使用更广泛的“文件”有所认识,并学会初步的操作。本文适合于仅掌握了一般数据类型与控制结构的读者。  你一定不满足程序处理完的数据,然后只在屏幕上显示一下的方式。如果处理的结果能够永久地保存下来多好!  你一定厌倦了要让
1092 0
C# 文件操作
c#文件操作   在.NET Framework中进行的所有的输入和输出工作都要使用到流。流是串行化设备的抽象串行化设备可以以线性方式存储数据,并可以以同样的方式访问:一次访问—个字节。此设备可以是磁盘文件、打印机、内存位置和或任何其他支持以线性方式读写的对象。
650 0
+关注
allen_chen_0118
开源技术专家
118
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载