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方法遍歷文件夾中的所有子文件夾及文件

 

 
 
 
Tags: