(轉(zhuǎn)貼) 注意:漢字使用GB2312編碼 測(cè)試頁(yè)面代碼: using System; using System.Collections.Generic; using System.Text; namespace StreamReaderAndStreamWriter { class Program { static void Main(string[] args) { Console.WriteLine("讀取文本文件內(nèi)容"); Console.Write("輸入文本文件所在目錄:"); string sBaseFile = Console.ReadLine(); StreamReaderAndStreamWriter.ReadFile(sBaseFile); Console.WriteLine("追加文件"); StreamReaderAndStreamWriter.AppendText(sBaseFile); } } } 類頁(yè)面代碼: using System; using System.Collections.Generic; using System.Text; using System.IO; namespace StreamReaderAndStreamWriter { class StreamReaderAndStreamWriter { //讀取文本文件 public static void ReadFile(string sFile) { if (File.Exists(sFile)) { //獲取一個(gè)文件流對(duì)象,用于讀寫(xiě)文件 FileStream fs = File.OpenRead(sFile); //獲取一個(gè)指向文件流的流讀取器 StreamReader sr = new StreamReader(fs,Encoding.GetEncoding("gb2312"));//以gb2312編碼讀取文本文件中的漢字,要不然,讀取的內(nèi)容中如果有漢字,則顯示為亂碼。 //讀取所有文本內(nèi)容 string data = sr.ReadToEnd(); //關(guān)閉對(duì)象,釋放資源 sr.Close(); fs.Close(); Console.WriteLine(string.Format("讀取文件>>{0}", sFile)); Console.WriteLine(data); } else Console.WriteLine(string.Format("{0}不存在",sFile)); } //追加文本文件 public static void AppendText(string sFile) { if (File.Exists(sFile)) { //編輯文本文件 Console.WriteLine("輸入寫(xiě)入內(nèi)容"); string swrite = Console.ReadLine(); //獲取一個(gè)指向文件流的流編輯器 StreamWriter sw = new StreamWriter(sFile, true, Encoding.GetEncoding("gb2312"));//這里很重要,看一下這個(gè)StreamWriter()格式就一目了然了,sFile聲明了文本對(duì)象;true聲明了可以進(jìn)行Appedn;Encoding.GetEncoding("gb2312")聲明了一GB2312編碼向文本文件寫(xiě)入內(nèi)容,這樣就可以避免寫(xiě)入漢字出現(xiàn)亂碼。 sw.Write(swrite); //關(guān)閉對(duì)象,釋放資源 sw.Close(); //fs.Close(); Console.WriteLine("向{0}中追加文件",sFile); } else Console.WriteLine("{0}不存在",sFile); } } }
|