文件夾操作類用於操作文件夾,可以完成創建,復制,移動,重命名,刪除目錄等操作。
Directory類和DirectoryInfo類都是C#提供的用於操作文件夾的類,Directory類和File一樣,所有的方法都是靜態的。而DirectoryInfo類是普通類。
選擇Directory類還是DirectoryInfo類的規則與File和FileInfo的規則相同:
如果只執行一個操作,選擇DirectoryInfo類,Directory類的靜態方法對所有方法執行安全檢查。
-
Directory,靜態類,不可實例化
//刪除此目錄 Directory.Delete(@"C:\Users\Administrator\Desktop\新建文件夾") //刪除此目錄,true表示要是此目錄有子目錄也刪除,否則就拋出異常 Directory.Delete(@"C:\Users\Administrator\Desktop\新建文件夾", false); //此目錄是否存在 bool b =Directory.Exists(@"C:\Users\Administrator\Desktop\新建文件夾"); //根據路徑返回此目錄下的子目錄 string[] dirs1 = Directory.GetDirectories(@"C:\Users\Administrator\Desktop\新建文件夾"); //第二個參數表示:搜索的范圍,就是搜索的文件夾包含“基礎”關鍵字 string[]dirs2 =Directory.GetDirectories(@"C:\Users\Administrator\Desktop\新建文件夾","*.mp3"); //搜索目錄下的所有文件 string[]files =Directory.GetFiles(@"C:\Users\Administrator\Desktop\新建文件夾"); //第三個參數表示:指定搜索操作應包括所有子目錄還是僅包括當前目錄。 string[]files1 =Directory.GetFiles(@"C:\Users\Administrator\Desktop\新建文件夾","2.txt",SearchOption.AllDirectories); ///移動、剪切。只能在同一個磁盤中。目錄沒有Copy方法。可以使用Move()方法實現重命名。 Directory.Move(@"F:\測試\33",@"F:\測試\32\33");
Directory是位於System.IO的,需在代碼開頭引用System.IO 的命名空間:
using System.IO;
-
DirectoryInfo:文件夾的一個“類”
用來描述一個文件夾對象(獲取指定目錄下的所有目錄時返回一個DirectoryInfo數組)
string load = @"D:\桌面文件\筆記\我的筆記\"; DirectoryInfo info = new DirectoryInfo(load); //獲取文件夾創建時間 DateTime time = info.CreationTime; Console.WriteLine(time); //獲取文件夾后綴名 string str = info.Extension; Console.WriteLine(str); //FullName:獲取全路徑 str = info.FullName; Console.WriteLine(str); //Parent:獲取指定文件夾的父文件 DirectoryInfo info2 = info.Parent; Console.WriteLine(info2.Name); //Root:獲取指定文件夾的根目錄 DirectoryInfo info3 = info.Root; Console.WriteLine(info3); //CreateSubdirectory:創建一個新的文件夾 info.Parent.CreateSubdirectory("我剛新建的"); //GetDirectories:獲取指定目錄中子目錄的名稱 string[] strlist = Directory.GetDirectories(@"D:\桌面文件"); for (int i = 0; i < strlist.Length; i++) { Console.WriteLine(strlist[i]); } //GetCurrentDirectory:獲取應用程序的當前文件目錄 string str2 = Directory.GetCurrentDirectory(); Console.WriteLine(str2); //GetDirectoryRoot:獲取指定目錄中所有子目錄的根目錄 str2 = Directory.GetDirectoryRoot(@"D:\桌面文件"); Console.WriteLine(str2); Console.ReadLine();
轉載:
C#文件夾操作-Directory和DirectoryInfo有什么區別 - 流星落 - 博客園 (cnblogs.com)
C#文件夾操作之Directory類和DirectoryInfo類_Survivor_lll的博客-CSDN博客_directoryinfo