C#中File类与FileInfo的区别
一.File類別與FileInfo類別:
使用File類別進行檔案操作時,每次都會進行安全性檢查。
FileInfo類別則只會於第一次進行安全性檢查,如果你需重複使用物件好幾次,請考慮使用 FileInfo 的執行個體方法,以取代 File 類別的對應靜態 (Static) 方法,因為安全性檢查並不一定會需要。
二.指定路徑:
C#語言下路徑指定方式有兩種:
- 是使用兩個斜線,例如 “C:\Test.txt”
- 第二種是在路徑前加上@符號,例如 @”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的方法會較好。
- 使用File(System.IO.File): File.Move(@”C:From.txt“, @”C:TO.txt“);
- 使用FileInfo(System.IO.FileInfo):FileInfo.MoveTo(@”C:new_file.txt”)