1. 程式人生 > >C#--I/O流操作文字檔案之StreamWrite類和StreamReader類

C#--I/O流操作文字檔案之StreamWrite類和StreamReader類

使用I/O流操作文字檔案時主要用到StreamWrite類和StreamRead類。

1.StreamWrite類

(1)StreamWrite類專門用來處理文字檔案的類,可以方便地想文字檔案中寫入字串,同時負責重要的轉換和處理向FileStream物件寫入工作。

(2)常用的屬性

Encoding               獲取將輸出寫入到其中的Encoding

Formatprovider         獲取控制格式設定的物件

NewLine                獲取或設定由當前TextWriter使用的行結束符字串

(3)常用的方法

Close                  關閉當前的StringWriter和基礎流

Write                  寫入到StringWriter的此例項中

WriteLine              寫入過載引數指定的某些資料,後跟行結束符

2.StreamReader類

(1)專門用來讀取文字檔案的類。

(2)常用的方法

Close                  關閉StringReader

Read                   讀取輸入字串中的下一個字元或下一組字元

ReadLine               從基礎字串中讀取一行

ReadToEnd              將整個流或從流的當前位置到流的結尾作為字串讀取

3.例項程式碼--如何對文字檔案進行寫入和讀取

(1)控制元件解釋

SaveFileDialog控制元件(一個)--顯示“另存為”對話方塊

OpenFileDialog控制元件(一個)--顯示“開啟”對話方塊

TextBox控制元件(一個)--輸入要寫入文字檔案的內容和顯示選中文字檔案的內容

Button控制元件(兩個)--分別用來開啟"另存為"和"開啟"對話方塊

(2)重要程式碼

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == string.Empty)
            {
                MessageBox.Show("要寫入的檔案內容不能為空");
            }
            else
            {
                //設定儲存檔案的格式
                saveFileDialog1.Filter = "文字檔案(*.txt)|*.txt";
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    //使用“另存為”對話方塊中輸入的檔名例項化StreamWriter物件
                    StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, true);
                    //向建立的檔案中寫入內容
                    sw.WriteLine(textBox1.Text);
                    //關閉當前檔案寫入流
                    sw.Close();
                    textBox1.Text = string.Empty;
                }
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            //設定開啟檔案的格式
            openFileDialog1.Filter = "文字檔案(*.txt)|*.txt";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = string.Empty;
                //使用“開啟”對話方塊中選擇的檔案例項化StreamReader物件
                StreamReader sr = new StreamReader(openFileDialog1.FileName);
                //呼叫ReadToEnd方法讀取選中檔案的全部內容
                textBox1.Text = sr.ReadToEnd();
                //關閉當前檔案讀取流
                sr.Close();
            }
        }


(3)執行截圖:


點選讀取出來開啟框,即前面所說的SaveFileDialog控制元件的顯示


點選寫入按鈕,出來另存為框,即前面所說的OpenFileDialog控制元件的顯示