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("寫入文件失敗,請檢查路徑 文件名與權限是否符合");
            }
            //異常檢測結束
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章