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