C#读写文本文件的方法

所属分类: 软件编程 / C#教程 阅读数: 56
收藏 0 赞 0 分享

本文实例讲述了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#程序设计有所帮助。

更多精彩内容其他人还在看

C# SendInput 模拟鼠标操作的实现方法

C# SendInput 模拟鼠标操作的实现方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中 paint()与Onpaint()的区别

paint是事件onpaint方法onpaint方法是调用paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的:
收藏 0 赞 0 分享

c#中GetType()与Typeof()的区别

c#中GetType()与Typeof()的区别,需要的朋友可以参考一下
收藏 0 赞 0 分享

将字符串转换成System.Drawing.Color类型的方法

将字符串转换成System.Drawing.Color类型的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# 抓取网页内容的方法

C# 抓取网页内容的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

基于C#后台调用跨域MVC服务及带Cookie验证的实现

本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下
收藏 0 赞 0 分享

使用C#获取远程图片 Form用户名与密码Authorization认证的实现

本篇文章介绍了,使用C#获取远程图片 Form用户名与密码Authorization认证的实现。需要的朋友参考下
收藏 0 赞 0 分享

Winform跨线程操作的简单方法

线程间操作无效:从不是创建控件“label1”的线程访问它
收藏 0 赞 0 分享

C# WINFORM 强制让窗体获得焦点的方法代码

C# WINFORM 强制让窗体获得焦点的方法代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中方括号[]的语法及作用介绍

C#中方括号[]可用于数组,索引、属性,更重要的是用于外部DLL类库的引用。
收藏 0 赞 0 分享
查看更多