一、输入输出流
1、概念:
输入输出流主要用于保存、读取文件,其内容保存在内存中。
2、使用方法:
using System.IO;
//System.IO 命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。
3、代码段实现读取和保存功能:
读取文字:
OpenFileDialog op = new OpenFileDialog(); op.ShowDialog();//打开文件对话框 //将选择的东西读取到文档里 StreamReader sd = new StreamReader(op.FileName,System.Text.Encoding.Default); //写入文本box中 this.textBox1.Text = sd.ReadToEnd(); sd.Close();//关闭流
保存文档:
SaveFileDialog save = new SaveFileDialog(); if(save.ShowDialog() == DialogResult.OK) { string filename = save.FileName; StreamWriter sw = new StreamWriter(filename);//开辟一个硬盘空间 sw.Write(this.textBox1.Text);//写入文本内容 sw.Close(); }
二、图像上传到数据库、读取
1、上传
一般是将图像转换成二进制数据后上传:
openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif"; //规定只能读取图片格式,从内存里读取一张图片 DialogResult dia = openFileDialog1.ShowDialog(); if (dia == DialogResult.OK) { string filename = openFileDialog1.FileName; FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);//将图片读入流中 byte[] imagebytes = new byte[fs.Length];//二进制数组,用以临时存储图像的二进制编码 BinaryReader br = new BinaryReader(fs);//二进制读取器 imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));//将图片读入到二进制数组中 }
然后连接数据库,将imagebytes数据传到库中即可。
2、读取
首先读取数据库中的image数据,定义一个byte[]类型的对象用来接收。
//将图像写入内存 MemoryStream ms = new MemoryStream(imgbytes, 0, imgbytes.Length); ms.Write(imgbytes, 0, imgbytes.Length); Image img = Image.FromStream(ms); //建一个pictureBox控件,接受读取到的图片 this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; this.pictureBox1.Image = img;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?