[C#]System.IO.File class 檔案模式(FileMode)簡介

摘要:[C#]System.IO.File class 簡略介紹

常常忘記檔案操作所需要用的開啟或讀取模式嗎?參考這張圖吧:

是否一目了然呢?下面是一些簡單範例:

1.檔案模式設為Create:會在執行目錄下建立一個叫做MyFile.txt的檔案,檔案已存在則會覆寫過原本的檔案。

  using (FileStream fs = File.Open("MyFile.txt", FileMode.Create))
{
    //....
}

 

2.檔案模式設為OpenOrCreate:會檢查目前目錄下是否有一個叫做MyFile.txt的檔案,有就開啟檔案並開始寫入;沒有的話就建立一個新的。

  using (FileStream fs = File.Open("MyFile.txt", FileMode.OpenOrCreate))
{
    //....
}


等同於

  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.");

 

歡迎補充~

 

 Reference:

1. C# 3.0 in a Nutshell, 3rd Edition

2. System.IO.File (MSDN)