欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#读写文本文件的方法

程序员文章站 2022-06-03 19:06:12
本文实例讲述了c#读写文本文件的方法。分享给大家供大家参考。具体分析如下: system.io命名空间中的类为托管应用程序提供文件以及其他形式的输入输出。托管i/o的基本...

本文实例讲述了c#读写文本文件的方法。分享给大家供大家参考。具体分析如下:

system.io命名空间中的类为托管应用程序提供文件以及其他形式的输入输出。托管i/o的基本构件是流,而流是字节导向的数据的抽象表示。流通过system.io.stream类表示.

system.io.filestream允许将文件作为流访问;

system.io.memorystream允许将内存块作为流进行访问

以下为读写文件的示例

先引用命名空间

using system.io;

以下是源代码

namespace 文本文件打开测试
{
  public partial class form1 : form
  {
    public form1()
    {
      initializecomponent();
    }
    private void btn_read_click(object sender, eventargs e)
    {
      //异常检测开始
      try
      {
        filestream fs = new filestream(@tb_pachfilename.text , filemode.open, fileaccess.read);//读取文件设定
        streamreader m_streamreader = new streamreader(fs, system.text.encoding.getencoding("gb2312"));//设定读写的编码
        //使用streamreader类来读取文件
        m_streamreader.basestream.seek(0, seekorigin.begin);
        // 从数据流中读取每一行,直到文件的最后一行,并在rtb_display.text中显示出内容
        this.rtb_display.text = "";
        string strline = m_streamreader.readline();
        while (strline != null)
        {
          this.rtb_display.text += strline + "\n";
          strline = m_streamreader.readline();
        }
        //关闭此streamreader对象
        m_streamreader.close();
      }
      catch
      {
        //抛出异常
        messagebox.show("指定文件不存在");
        return;
      }
      //异常检测结束
    }
    private void btn_replace_click(object sender, eventargs e)
    {
      //判断替换开始
      if (tb_replace.text == ""&&tb_replace_2.text=="")
      {
        messagebox.show("想替换的字符都没有就换啊,你太有才了");
      }
      else
      {
        if (rtb_display.text == "")
        {
          messagebox.show("文件内容为空无法进行替换,请检查文件");
        }
        else
        {
          string str = rtb_display.text.tostring();
          rtb_display.text = str.replace(@tb_replace.text ,@tb_replace_2.text);//替换
        }
      }
      //结束
    }
    private void btn_save_click(object sender, eventargs e)
    {
      //异常检测开始
      try
      {
        //创建一个文件流,用以写入或者创建一个streamwriter
        filestream fs = new filestream(@tb_save.text, filemode.openorcreate, fileaccess.write);
        streamwriter m_streamwriter = new streamwriter(fs);
        m_streamwriter.flush();
        // 使用streamwriter来往文件中写入内容
        m_streamwriter.basestream.seek(0, seekorigin.begin);
        // 把richtextbox1中的内容写入文件
        m_streamwriter.write(rtb_display.text);
        //关闭此文件
        m_streamwriter.flush();
        m_streamwriter.close();
      }
      catch
      {
        //抛出异常
        messagebox.show("写入文件失败,请检查路径 文件名与权限是否符合");
      }
      //异常检测结束
    }
  }
}

希望本文所述对大家的c#程序设计有所帮助。