FileStream对象表示在磁盘或网络路径上指向文件的流。
可以使用FileStream 类对文件系统上的文件进行读取、写入、打开、关闭等。
废话不说,开始操作。
1.拖好控件、必须滴,将除了要写文件的文本框外,其他的文本框的 ReadOnly 属性均设为 True !
2.开始"选择文件"操作
1 privatevoid btnReadChoose_Click(object sender, EventArgs e) 2 { 3 //创建 打开文件 对话框,可以直接拖控件哈。。 4 OpenFileDialog ofd=new OpenFileDialog(); 5 //将文件路径显示在文本框 6 if (ofd.ShowDialog() == DialogResult.OK) 7 { 8 txtReadPath.Text = ofd.FileName; 9 } 10 }
效果图。。。路径就显示出来了。
3.开始"读出"操作,并将文本内容显示在文本框.
其中先写出一个显示“温馨提示”消息的方法
1 #region 显示温馨提示的消息+void MsgShow(string Msg) 2 ///<summary> 3 /// 显示温馨提示的消息 4 ///</summary> 5 ///<param name="Msg">消息</param> 6 void MsgShow(string Msg) 7 { 8 lbResult.Text ="温馨提示:"+Msg; 9 } 10 #endregion
读出操作
1 privatevoid btnReadFile_Click(object sender, EventArgs e) 2 { 3 //创建文件流、流操作要进行异常处理,并以using来释放对象 4 try 5 { 6 using (FileStream fs =new FileStream(txtReadPath.Text, FileMode.Open)) 7 { 8 //定义缓存区,3M 大小 9 byte[] arrFileData =newbyte[1024*1024*3]; 10 //读文件 存在 arrFileData 中 11 fs.Read(arrFileData, 0, arrFileData.Length); 12 //转 编码格式 以便显示在 文本框 txtReadMsg 中 13 string ChangeToString = Encoding.Default.GetString(arrFileData); 14 txtReadMsg.Text = ChangeToString; 15 MsgShow("文本读取成功!!!"); 16 } 17 } 18 catch (Exception ex) 19 { 20 MessageBox.Show("异常:"+ ex.Message); 21 } 22 23 }
效果图:
4.开始"写入"操作,选择文件就不累赘了,差不多.
1 privatevoid btnWriteFile_Click(object sender, EventArgs e) 2 { 3 //获取要写入文本的数据 4 string strWriteData = txtWriteMsg.Text; 5 try 6 { 7 using (FileStream fs =new FileStream(txtWritePath.Text, FileMode.Create)) 8 { 9 //转为二进制写入文本 10 byte[] arrWriteData = Encoding.Default.GetBytes(strWriteData); 11 12 //fs.Write(数据缓存区,从第几个byte开始写,写多少个) 13 fs.Write(arrWriteData, 0, arrWriteData.Length); 14 MsgShow("写入文本成功!!!"); 15 } 16 } 17 catch (Exception ex) 18 { 19 20 MessageBox.Show("异常:"+ ex.Message); 21 }
效果图:
就这么滴,一个基于文件流FileStream的文本写入、读取小程序就完工了。主要是自己总结,更深一步了解流操作的过程,所以分享此文!
=======================================完==========================================
我的新浪微博:http://weibo.com/2030076164
|
请发表评论