C#读写文本文件的方法

所属分类: 软件编程 / C#教程 阅读数: 40
收藏 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#程序设计有所帮助。

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

winform用datagridview制作课程表实例

这篇文章主要介绍了winform用datagridview制作课程表的方法,实例分析了WinForm实现课程表的结构、数据库及调用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#中winform控制textbox输入只能为数字的方法

这篇文章主要介绍了C#中winform控制textbox输入只能为数字的方法,包括使用keyPress事件限制键盘输入以及TextChanged事件限制粘贴等情况,来实现控制输入为数字的功能,需要的朋友可以参考下
收藏 0 赞 0 分享

C#省份城市下拉框联动简单实现方法

这篇文章主要介绍了C#省份城市下拉框联动简单实现方法,涉及字典的定义与索引的用法,是非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#处理MySql多个返回集的方法

这篇文章主要介绍了C#处理MySql多个返回集的方法,实现了对处理MySql多个返回集进行封装,是非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#无限参数的写法

这篇文章主要介绍了C#无限参数的写法,通过循环遍历再结合paras.Add方法实现无限参数的功能,是比较实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#反射应用实例

这篇文章主要介绍了C#反射应用,实例分析了通过反射实现多系统数据库的配置方法,是比较实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#窗体传值实例汇总

这篇文章主要介绍了C#窗体传值,实例形式汇总了静态变量传值、委托传值、对话框之间的传值等常见应用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#把数组中的某个元素取出来放到第一个位置的实现方法

这篇文章主要介绍了C#把数组中的某个元素取出来放到第一个位置的实现方法,涉及C#针对数组的常见操作技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#中Equality和Identity浅析

这篇文章主要介绍了C#中Equality和Identity浅析,本文先是讲解了Equality和Identity的定义,同时讲解了判断两个对象等价性的4种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

在Linux上运行C#的方法

这篇文章主要介绍了在Linux上运行C#的方法,实例分析了Linux平台下Mono软件包的应用技巧,以及在此基础之上的C#运行方法,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多