C# FileStream读写的文本操作代码分析

作者:hebedich 时间:2021-12-25 01:47:28 

FileStream对象表示在磁盘或网络路径上指向文件的流。

可以使用FileStream 类对文件系统上的文件进行读取、写入、打开、关闭等。

废话不说,开始操作。

1.拖好控件、必须滴,将除了要写文件的文本框外,其他的文本框的 ReadOnly 属性均设为 True !

C# FileStream读写的文本操作代码分析

2.开始"选择文件"操作


privatevoid btnReadChoose_Click(object sender, EventArgs e)
   {
//创建 打开文件 对话框,可以直接拖控件哈。。
     OpenFileDialog ofd=new OpenFileDialog();
//将文件路径显示在文本框
if (ofd.ShowDialog() == DialogResult.OK)
     {
       txtReadPath.Text = ofd.FileName;
     }
   }

效果图。。。路径就显示出来了。

C# FileStream读写的文本操作代码分析

3.开始"读出"操作,并将文本内容显示在文本框.

其中先写出一个显示“温馨提示”消息的方法


#region 显示温馨提示的消息+void MsgShow(string Msg)
///<summary>
/// 显示温馨提示的消息
///</summary>
///<param name="Msg">消息</param>
void MsgShow(string Msg)
   {
     lbResult.Text ="温馨提示:"+Msg;
   }
#endregion

读出操作


privatevoid btnReadFile_Click(object sender, EventArgs e)
   {
//创建文件流、流操作要进行异常处理,并以using来释放对象
try
     {
using (FileStream fs =new FileStream(txtReadPath.Text, FileMode.Open))
       {
//定义缓存区,3M 大小
byte[] arrFileData =newbyte[1024*1024*3];
//读文件 存在 arrFileData 中
         fs.Read(arrFileData, 0, arrFileData.Length);
//转 编码格式 以便显示在 文本框 txtReadMsg 中
string ChangeToString = Encoding.Default.GetString(arrFileData);
         txtReadMsg.Text = ChangeToString;
         MsgShow("文本读取成功!!!");
       }
     }
catch (Exception ex)
     {
       MessageBox.Show("异常:"+ ex.Message);
     }

}

效果图:

C# FileStream读写的文本操作代码分析

4.开始"写入"操作,选择文件就不累赘了,差不多.


privatevoid btnWriteFile_Click(object sender, EventArgs e)
   {
//获取要写入文本的数据
string strWriteData = txtWriteMsg.Text;
try
     {
using (FileStream fs =new FileStream(txtWritePath.Text, FileMode.Create))
       {
//转为二进制写入文本
byte[] arrWriteData = Encoding.Default.GetBytes(strWriteData);

//fs.Write(数据缓存区,从第几个byte开始写,写多少个)
         fs.Write(arrWriteData, 0, arrWriteData.Length);
         MsgShow("写入文本成功!!!");
       }
     }
catch (Exception ex)
     {

MessageBox.Show("异常:"+ ex.Message);
     }

效果图:

C# FileStream读写的文本操作代码分析

就这么滴,一个基于文件流FileStream的文本写入、读取小程序就完工了。主要是自己总结,更深一步了解流操作的过程,所以分享此文!

标签:C#,FileStream
0
投稿

猜你喜欢

  • SpringBoot整合Thymeleaf小项目及详细流程

    2021-08-13 16:32:08
  • 基于JavaSwing设计和实现的酒店管理系统

    2022-03-31 12:12:14
  • JPA中EntityListeners注解的使用详解

    2023-08-04 21:39:18
  • Java实现二叉搜索树的插入、删除功能

    2023-07-15 20:54:53
  • Java基础之Web服务器与Http详解

    2021-08-13 16:39:42
  • SpringBoot利用注解来实现Redis分布式锁

    2022-02-13 16:57:36
  • C# 特殊的string类型详解

    2022-02-10 14:11:59
  • Java必备知识之位运算及常见进制解读

    2022-02-10 00:42:19
  • Java如何实现通过证书访问Https请求

    2021-10-19 08:51:36
  • Android中Snackbar的使用方法及小技巧

    2023-10-30 03:13:31
  • C# 中string.split用法详解

    2023-04-09 13:58:34
  • C#中的数组用法详解

    2021-08-19 14:50:17
  • 如何安装java的运行环境IDEA

    2022-09-20 10:42:38
  • java 使用JDBC构建简单的数据访问层实例详解

    2023-01-13 05:12:24
  • Flutter图片与文件选择器使用实例

    2023-07-17 09:11:12
  • SpringBoot整合Jackson超详细用法(附Jackson工具类)

    2023-05-31 23:56:06
  • Java异常分类及统一处理详解

    2022-01-27 12:32:24
  • Java源码解析之平衡二叉树

    2023-11-29 11:16:40
  • JDK10中的局部变量类型推断var

    2022-06-16 20:32:48
  • Android自定义控件案例汇总1(菜单、popupwindow、viewpager)

    2021-11-22 14:37:32
  • asp之家 软件编程 m.aspxhome.com