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: