C# WPF文件I/O数据流技术


版权声明:本文为博主原创文章, 如需转载请附上原文出处链接和本声明。
近期在做一个项目主要是一个久坐的提醒,部分涉及到文件的I/O数据流的技术。
利用C#的WPF的I/O流,将Textbox的数据传入一个txt里面。
我用的是VS2012的版本。
废话不多说,请看!

File类

File类支持对文件的基本操作,它包括用于创建、复制、删除、移动和打开这几个方法。一下列出几个常用的几种方法。

方法说明
Copy将现有文件复制到新文件
Create在指定路径中创建文件
Delete删除指定的文件
Exists确定指定的文件是否存在
Move将指定的文件移到新位置
Open打开指定路径上的FileStream

以上是我常用的几个File方法

这里我主要提起几个方法

Exists方法

这个方法主要是判断用于指定位置的文件是否存在。
返回值:有则为:true;无则返回false。

File.Exists(@"C:\Users\Text.txt);

Open方法

Open的方法就是打开指定位置的文件,无需什么注意。

File.Open(@"C:\Users\Text.txt);

Create方法

Create的方法就是创建一个文件。

File.Create(@"C:\Users\Text.txt);

这样就能在在C盘底下Users中创建一个Text文本文档了。

FileStream类

在C#中文件I/O流使用FileStream类实现,该类公开以文件为主的Stream,表示在磁盘或网络路径上指向文件的流。一个FileStream类的实例实际上代表一个磁盘文件,它通过Seek方法进行对文件的随机访问,也同时包含了流的标准输入、标准输出和标准错误等。FileStream默认对文件的打开方法是同步的,但它同样很好地支持异步操作。

方法说明
BeginRead开始异步读操作
BeginWrite开始异步写操作
Close关闭当前流并释放与之关联的所有资源
Read从流中读取字节块并将该数据写入指定缓冲区中
ReadByte从文件中读取一个字节,并将读取位置提升一个字节
Write使用从缓冲区读取的数据将字节块写入该流
WriteByte将一个字节写入文件流的当前位置

StreamWrite类

StreamWrite类是专门用来处理文本文件的类,可以方便地向文本文件中写入字符串,同时它也责任重要的转换以及处理向FileStream对象写入的工作。

方法说明
Close关闭当前的StringWriter
Write写入到StringWriter的此实例中
WriteLine写入重载参数指定的某些数据,后跟行结束符

StreamReader类

StreamReader类是专门用来读取文本文件的类。StreamReader可以冲底层Stream对象创建StreamReader对象的实例,而且还能指定编码规范参数。创建StreamReader对象后,它提供了许多用于读取和浏览字符数据的方法。

方法说明
Close关闭StringReader
Read读取输入字符串中的下一个字符或下一组字符
ReadBlock从当前流中读取最大Count的字符并从index开始将数据写入Buffer
ReadLine从基础字符串中读取一行
ReadToEnd将整个流或从流的当前位置到流的结尾作为字符穿读取

基本上我用的就是这几个类来操作,今天的主角就是在WPF中如何的用Stream来将字符串中的数据写入到txt中。

先创建好界面
XMAL界面
然后继续创建后台代码,实现写入的效果,代码如下:

 public MainWindow()
        {
            InitializeComponent();
        }
        FileStream Write = new FileStream(@"D:\Text.txt", FileMode.Open, FileAccess.Write);
       
        private void btn_Write_Click(object sender, RoutedEventArgs e)
        {
            if (txt_Write.Text == string.Empty)//判断TextBox中的值是否为空
            {
                MessageBox.Show("写入的内容不能为空");
            }
            else 
            {
                StreamWriter sw = new StreamWriter(Write);
                sw.Write(txt_Write.Text);
                txt_Write.Text = "";
                sw.Close();
            }
        }

        private void btn_Read_Click(object sender, RoutedEventArgs e)
        {
            FileStream Read = new FileStream(@"D:\Text.txt", FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(Read);
            txt_Read.Text = sr.ReadToEnd();
        }

最后就可以实现效果了。
这里有个注意事项,就是盘符的问题
盘符问题
这边会显示这样的错误,不是路径打错了就是盘符的问题了,这个时候,我们首先要将所要读写的文件找到文件所在地,按下shift+右键,复制文件路径,然后覆盖进代码里就能避免这种事情,这就是盘符的解决方法。

写入

写入效果

读出

读出效果
D盘中
本次到此结束了,这也是我第一次发表的博客,希望大家多多支持。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值