摘要:[C#]System.IO.File class 簡略介紹
常常忘記檔案操作所需要用的開啟或讀取模式嗎?參考這張圖吧:
是否一目了然呢?下面是一些簡單範例:
1.檔案模式設為Create:會在執行目錄下建立一個叫做MyFile.txt的檔案,檔案已存在則會覆寫過原本的檔案。
(FileStream fs = File.Open("MyFile.txt", FileMode.Create))
{
//....
}
using 


2.檔案模式設為OpenOrCreate:會檢查目前目錄下是否有一個叫做MyFile.txt的檔案,有就開啟檔案並開始寫入;沒有的話就建立一個新的。
using (FileStream fs = File.Open("MyFile.txt", FileMode.OpenOrCreate))
{
//....
}
等同於
using (FileStream fs = File.OpenWrite("MyFile.txt"))
{
//....
}



等同於
using (FileStream fs = File.OpenWrite("MyFile.txt"))



其實若是簡單的檔案操作(例如讀取、增加文字等等),我喜歡用下列File的靜態方法
//以行為單位讀取整個文字檔案的內容
string[] fileContent = File.ReadAllLines("MyFile.txt");
//以一個字串的方式回傳整個檔案的內容
string fileContent = File.ReadAllText("MyFile.txt");
//把內容寫到目的檔案,若檔案存在則覆寫之(原本檔案會被覆蓋過去)
File.WriteAllText("MyFile.txt", "This is a test string.");
//把內容寫到目的檔案,若檔案存在則附加在原本內容之後
File.AppendAllText("MyFile.txt", "This is a test string.");
string[] fileContent = File.ReadAllLines("MyFile.txt");
//以一個字串的方式回傳整個檔案的內容
string fileContent = File.ReadAllText("MyFile.txt");
//把內容寫到目的檔案,若檔案存在則覆寫之(原本檔案會被覆蓋過去)
File.WriteAllText("MyFile.txt", "This is a test string.");
//把內容寫到目的檔案,若檔案存在則附加在原本內容之後
File.AppendAllText("MyFile.txt", "This is a test string.");
歡迎補充~
Reference:
1. C# 3.0 in a Nutshell, 3rd Edition