C#初學者教程系列22:檔案操作

中洲少年發表於2020-12-11

本文是C#初學者簡單教程,這是第22篇。感謝觀看,記得關注我,後續還有更多教程文章,謝謝。

本文環境為Visual Studio 2019。

一、介紹

Windows下的檔案操作是很頻繁的。在C#中,提供了File、FileInfo、FileStream來操作檔案,api定義如下圖所示:

File:是一個靜態類,用於檔案的具體操作,如建立、複製、刪除、開啟等。這些都是針對一個具體的檔案來進行磁碟操作的。

FileInfo:檔案資料類。指每一個檔案的資訊資料,如建立時間、修改時間、檔案大小等。

FileStream:是檔案流的類。用於開啟檔案後,對檔案內容進行輸入輸出操作。

二、演示

我們通過一個簡單的例子,來演示如何建立、複製、刪除檔案,如何遍歷檔案等。

如上圖,我們來看一下:

  1. 我們先宣告瞭資料夾路徑,以及兩個檔案的路徑。
  2. 我們想要建立檔案,先使用Exists()方法判斷一下檔案是否存在。 
  3. 使用Create()方法,我們可以建立一個檔案,並立即獲得它的FileStream檔案流物件,以便您可以馬上對這個檔案的內容進行操作。
  4. 我們想給檔案寫入“今天吃雞”4個字,通過Encoding字元編碼來得到位元組陣列,然後我們使用Write()方法,將字元寫入到檔案中,並使用fs.Close()方法關閉。
  5. 另一分支中,我們在檔案1存在的情況下,使用File.Copy()方法,將檔案拷貝到新檔案2。
  6. 然後我們使用FileInfo例項物件,輸出它的FullName、LastWriteTime等檔案資訊。
  7. 我們如果要遍歷一個目錄下的所有檔案列表,可以使用Directory.GetFiles()方法。
  8. 最後,我們嘗試刪除一個檔案,使用File.Delete()方法。
private void button1_Click(object sender, EventArgs e)
{
    string folderPath = @"E:\test\";

    string filePath1 = folderPath + @"1.txt";
    string filePath2 = folderPath + @"2.txt";
    if (!File.Exists(filePath1))
    {
        string content = "今天吃雞";
        var bytes = Encoding.UTF8.GetBytes(content);

        FileStream fs = File.Create(filePath1);

        fs.Write(bytes, 0, bytes.Length);
        fs.Close();
    }
    else
    {
        File.Copy(filePath1, filePath2);


        FileInfo fi = new FileInfo(filePath2);
        MessageBox.Show(fi.FullName);
        MessageBox.Show(fi.LastWriteTime.ToString());
    }

    string[] files = Directory.GetFiles(folderPath);
    foreach (var file in files)
    {
        MessageBox.Show(file);
    }

    File.Delete(filePath1);
}

 

祝您用餐愉快。

相關文章