Directory類和DirectoryInfo類
1.Directory類
Directory類公開了用於創建、移動、枚舉、刪除目錄和子目錄的靜態方法

2.DirectoryInfo類
DirectoryInfo和Directory類的區別可以參看FileInfo類和File類,如果要在對象
上進行單一方法調用,則可以使用靜態Directory類。如果要在文件上執行幾
種操作,用DirectoryInfo對象並調用其方法

3.Directory類和DirectoryInfo類
1.判斷文件夾是否存在
1 //Directory類 2 public static bool Exists(string path) 3 //DirectoryInfo類 4 public override bool Exists{get;} 5 6 //Directory類 7 Directory.Exists(@"D:\1"); 8 //DirectoryInfo類 9 DirectoryInfo di=new DirectoryInfo(@"D:\1"); 10 bool b= di.Exists;
2.創建文件夾
1 //Directory類 2 //path:要創建的目錄路徑 3 //directorySecurity:要應用於此目錄的訪問控制 4 public static DirectoryInfo CreateDirectory(string path) 5 public static DirectoryInfo CreateDirectory(string path,DirectorySecurity directorySecurity) 6 //DirectoryInfo類 7 // directorySecurity:要應用於此目錄的訪問控制 8 public void Create() 9 public void Create(DirectorySecurity directorySecurity) 10 11 //Directory類 12 Directory.CreateDirectory("D:\\2"); 13 //DirectionInfo類 14 DirectoryInfo di=new DirectoryInfo("D:\\3"); 15 di.Create();
3.移動文件夾
1 //Directory類 2 //使用Move方法移動文件夾時要統一磁碟根目錄,同樣適用於MoveTo方法 3 public static void Move(string sourceDirName,string destDirName) 4 //DirectoryInfo類 5 public static MoveTo(string destDirName) 6 7 //Directory類 8 Directory.Move("D:\\1","D:\\5"); 9 //DirectoryInfo類 10 DirectoryInfo di=new DirectoryInfo("D:\\2"); 11 di.MoveTo("D:\\6");
4.刪除文件夾
1 //Directory類 2 //path:要移除的空目錄或目錄的名稱 3 //recursive:若要移除path中的目錄、子目錄和文件,則為true;否則為false 4 public static void Delete(string path) 5 public static void Delete(string path,bool recursive) 6 //DirectoryInfo類 7 public override void Delete() 8 public void Delete(bool recursive) 9 10 //Directory類 11 Directory.Delete("D:\\1"); 12 //DirectoryInfo類 13 DirectoryInfo di=new DirectoryInfo("D:\\2"); 14 di.Delete();
5.遍歷文件夾
1 //DirectoryInfo類中提供GetDirectories方法、GetFiles方法、GetFileSystemInfos方法 2 3 //用來返回當前目錄的子目錄 4 //searchPattern:搜索字元串,如用於搜索所有以單詞System開頭的"System*" 5 //searchOption:SearchOption枚舉的一個值,指定搜索操作是應僅包含當前目錄還是應包含所有子目錄 6 //返回值:第一種重載形式的返回值為DirectoryInfo對象的數組;第二種和第三種重載形式的返回值為與 7 //searchPattern匹配的DirectoryInfos類型的數組 8 public DirectoryInfo[] GetDirectories() 9 public DirectoryInfo[] GetDirectories(string searchPattern) 10 public DirectoryInfo[] GetDirectories(string searchPattern,SerachOption searchOption) 11 12 //GetFiles方法 13 //searchPattern:搜索字元串(如 "*.txt") 14 //searchOption:SearchOption枚舉的一個值,指定搜索操作是應僅包含當前目錄還是包含所有子目錄 15 //返回值: FileInfo類型數組 16 public FileInfo[] GetFiles() 17 public FileInfo[] GetFiles(string searchPattern) 18 public fileInfo[] getFiles(string searchPattern,SearchOption searchOption) 19 20 //GetFileSystemInfos方法 21 //searchPattern:搜索字元串 22 //返回值:第一種重載形式的返回值為強類型FileSystemInfo項的數組;第二種重載形式的返回值為與搜索 23 //條件匹配的強類型FileSystemInfo對象的數組 24 25 注意:一般遍歷文件時都會使用GetFileSystemInfos方法,因為GetDirectories方法只遍歷文件夾中的子文件夾, 26 GetFiles方法只遍歷文件夾中的文件,而GetFileSystemInfos方法遍歷文件夾中的所有子文件夾及文件