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("写入文件失败,请检查路径 文件名与权限是否符合");
            }
            //异常检测结束
        }
    }
}

原文地址:https://www.cnblogs.com/zcy_soft/p/1833782.html