C# FileStream读写的文本操作代码分析
作者:hebedich 发布时间:2021-12-25 01:47:28
标签:C#,FileStream
FileStream对象表示在磁盘或网络路径上指向文件的流。
可以使用FileStream 类对文件系统上的文件进行读取、写入、打开、关闭等。
废话不说,开始操作。
1.拖好控件、必须滴,将除了要写文件的文本框外,其他的文本框的 ReadOnly 属性均设为 True !
2.开始"选择文件"操作
privatevoid btnReadChoose_Click(object sender, EventArgs e)
{
//创建 打开文件 对话框,可以直接拖控件哈。。
OpenFileDialog ofd=new OpenFileDialog();
//将文件路径显示在文本框
if (ofd.ShowDialog() == DialogResult.OK)
{
txtReadPath.Text = ofd.FileName;
}
}
效果图。。。路径就显示出来了。
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);
}
}
效果图:
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);
}
效果图:
就这么滴,一个基于文件流FileStream的文本写入、读取小程序就完工了。主要是自己总结,更深一步了解流操作的过程,所以分享此文!


猜你喜欢
- 在默认情况下,对象的Equals(object o)方法(基类Object提供),是比较两个对象变量是否引用同一对象。我们要必须我自己的对象
- 本文实例讲述了C#中DataGridView常用操作。分享给大家供大家参考。具体如下:public void Binder1(){ Data
- 本文实例讲述了Java使用反射创建对象。分享给大家供大家参考,具体如下:一 实战1 代码import java.util.*;import
- 一、输入输出流对象cout:标准输出流cerr:标准出凑 和cout(只是用于如果是错误时要输出的)cin :&nb
- 在C#中通过使用方法来获取返回值时,通常只能得到一个返回值。因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区
- Android 7.0调用相机崩溃解决办法 错误提示:android.os.FileUriExposedException: fi
- C#对文件的操作相当方便,主要涉及到四个类:File、FileInfo、Directory、DirectoryInfo,前两个提供了针对文件
- 很多时候我们用HTML布局会更方便直接,记录一下。我现在主要是直接调用服务器的网页(实际上是jsp的,只是返回的是html),所以需要联网,
- java try catch异常后还会继续执行吗catch中如果你没有再抛出异常,那么catch之后的代码是可以继续执行的,但是try中,报
- 概述:通过自定义ImageView控件,在xml布局里面调用自定的组件实现图片的缩放。/*** 自定义的ImageView控制,可对图片进行
- 前言Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expe
- 前言最近在优化自己之前基于Spring AOP的统一响应体的实现方案。什么是统一响应体呢?在目前的前后端分离架构下,后端主要是一个RESTf
- 传统的单例写法解决了什么问题首先,在大多数情况下(不包含面试),传统的单例写法已经完全够用了。通过 synchronized 关键字解决了多
- 最近项目中要做一个带进度条的上传文件的功能,学习了AsyncTask,使用起来比较方便,将几个方法实现就行,另外做了一个很简单的demo,希
- 过滤器是Servlet的规范,是基于函数回调的,需要实现javax.servlet.Filter接口,依赖于Tomcat等容器,一般用于过滤
- 今天预实现一功能,将txt中的数据转到excel表中,做为matlab的数据源。搜集一些c#操作excel的程序。步骤如下:下载一个Micr
- Navigation 组件支持 Jetpack Compose 应用。我们可以在利用 Navigation 组件的基础架构和功能,在可组合项
- 1.进入<Android_Source_Path>/build/target/product/security,找到【platf
- 本文实例讲述了android开发之listView组件用法。分享给大家供大家参考,具体如下:关于Android ListView组件中and
- InetAddress类InetAddress类用来封装我们前面讨论的数字式的IP地址和该地址的域名。你通过一个IP主机名与这个类发生作用,