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控制元件的顯示