c#读写内存流

MemoryStream封装以无符号字节数组形式存储的数据,该数组在创建MemoryStream对象时被初始化,或者该数组可创建为空数组。可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。

实例
首先需要添加pictureBox、Button控件

代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

//注:本代码注释都处在相应语句下方

namespace WindowsFormsApp15
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog op = new OpenFileDialog();
            //实例化一个打开文件对话框
            op.Filter = "JPG图片|*.jpg|GIF图片|*.gif";
            //设置文件类型
            if(op.ShowDialog()==DialogResult.OK)
            {
                //如果打开文件对话框打开了
                FileStream f = new FileStream(op.FileName, FileMode.Open);
                //实例化一个文件流
                byte[] data = new byte[f.Length];
                //创建存储数组
                f.Read(data, 0, data.Length);
                //把文件读到字节数组
                f.Close();

                MemoryStream ms = new MemoryStream(data);
                //实例化一个内存流并把从文件流中读取的字节数组放到内存流中去
                this.pictureBox1.Image = Image.FromStream(ms);
                //设置图片框pictureBox中的图片为读取到的数据
            }
        }
    }
}

运行结果


AfterRun.PNG

总结:内存流文件在写入时,通过FileStream类实例化一个文件流对象,再将文件流对象内容读取到一个byte类型字节组中,最后把此byte类型字节组放入到MemoryStream类实例化内存流对象中,通过这种方式的转换最后将写入的文件在pictureBox控件中读取出来。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,048评论 0 4
  • 概述 java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。java.io ...
    Steven1997阅读 13,029评论 1 25
  • 五、IO流 1、IO流概述 (1)用来处理设备(硬盘,控制台,内存)间的数据。(2)java中对数据的操作都是通过...
    佘大将军阅读 3,496评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,805评论 1 32
  • 我想做一只胖狗 用老年痴呆般的眼神瞪你 伸出棉花一样的爪子挠你 再用软软的牙啃你一口 最后“扑通”一下,迎面倒在你...
    李早早阅读 2,256评论 0 0