標籤:
//讀取檔案內容
(1).使用FileStream類進行檔案的讀取,並將它轉換成char數組,然後輸出。
byte[] byData = new byte[100]; char[] charData = new char[1000]; public void Read() { try { FileStream file = new FileStream("E:\\test.txt", FileMode.Open); file.Seek(0, SeekOrigin.Begin); file.Read(byData, 0, 100); //byData傳進來的位元組數組,用以接受FileStream對象中的資料,第2個參數是位元組數組中開始寫入資料的位置,它通常是0,表示從數組的開端檔案中向數組寫資料,最後一個參數規定從檔案讀多少字元. Decoder d = Encoding.Default.GetDecoder(); d.GetChars(byData, 0, byData.Length, charData, 0); Console.WriteLine(charData); file.Close(); } catch (IOException e) { Console.WriteLine(e.ToString()); } }
(2).使用StreamReader讀取檔案,然後一行一行的輸出。
public void Read(string path) { StreamReader sr = new StreamReader(path,Encoding.Default); String line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line.ToString()); } }
//寫檔案
//寫日誌 public void fileWriter(string info) { //擷取當前伺服器的路徑 string file = HttpContext.Current.Server.MapPath("~/logs/" + System.DateTime.Now.Year + System.DateTime.Now.Month + "log.log"); if (File.Exists(file) == true) { StreamWriter mySw = new StreamWriter(file, true); mySw.WriteLine(""); mySw.WriteLine(System.DateTime.Now); mySw.WriteLine(info); mySw.Close(); } else { using (File.Create(file)) ; StreamWriter mySw = new StreamWriter(file, true); mySw.WriteLine(""); mySw.WriteLine(System.DateTime.Now); mySw.WriteLine(info); mySw.Close(); } }
C# txt檔案讀寫