C#中File类与FileInfo的区别

JerryXia 发表于 , 阅读 (696)

一.File類別與FileInfo類別:

使用File類別進行檔案操作時,每次都會進行安全性檢查。

FileInfo類別則只會於第一次進行安全性檢查,如果你需重複使用物件好幾次,請考慮使用 FileInfo 的執行個體方法,以取代 File 類別的對應靜態 (Static) 方法,因為安全性檢查並不一定會需要。

二.指定路徑:

C#語言下路徑指定方式有兩種:

  1. 是使用兩個斜線,例如 “C:\Test.txt”
  2. 第二種是在路徑前加上@符號,例如 @”C:Test.txt”

三.FileInfo的檔案操作

EX:取得檔案資訊

private void button1_Click(object sender, EventArgs e)
{
    //引用類別 FileInfo myInfo = new FileInfo(@”C:\newfile.txt”);
    //判斷檔案是否存在
    if (myInfo.Exists)
    {
        //輸出檔名
        Console.WriteLine(“FileName:{0}”, myInfo.Name);
        //輸出路徑 Console.WriteLine(“Path:{0}”, myInfo.FullName);
    }
}

EX:複製檔案

private void button2_Click(object sender, EventArgs e)
{
    //引用類別
    FileInfo myInfo = new FileInfo(@”C:\newfile.txt”);
    //判斷檔案是否存在
    if (myInfo.Exists)
    {
        //複製檔案
        myInfo.CopyTo(@”C:\newfile.bak”);
    }
}

四.變更檔名

.net並沒有直接更名的函式所以必須以Copy或Move的方法處理,但是若採用Copy的方法,因為須在回頭刪除原始檔案,所以採用Move的方法會較好。

  1. 使用File(System.IO.File): File.Move(@”C:From.txt“, @”C:TO.txt“);
  2. 使用FileInfo(System.IO.FileInfo):FileInfo.MoveTo(@”C:new_file.txt”)

添加新评论