C# 与文件相关的几个类(2)
Directory类:静态类,主要处理文件目录。
方法:
Create | 在指定路径中创建所有目录和子目录,除非它们已经存在。返回值是一个DirectoryInfo对象 |
Delete(String) | 从指定路径删除空目录。无返回值。 |
Exists(String) | 确定给定路径是否引用磁盘上的现有目录。返回值为bool类型。 |
Get | 返回指定目录中的子目录的名称(包括其路径)。返回值是string[]。 |
Get | 获取应用程序的当前工作目录。返回值是string。 |
Get | 返回指定目录中文件的名称(包括其路径)。返回值是string[]。 |
Get | 返回指定路径中的所有文件和子目录的名称。返回值是string[]。 |
Enumerate | 返回指定路径中的完整文件名的可枚举集合。与GetFiles类似,但返回的是IEnumerable<string>集合。 |
Enumerate | 返回指定路径中的目录完整名称的可枚举集合。与GetDirectories类似,但返回的是IEnumerable<string>集合。 |
Enumerate | 返回指定路径中的文件名和目录名的可枚举集合。与GetFileSystemEntries类似,但返回的是IEnumerable<string>集合。 |
Move(String, String) | 将文件或目录及其内容移到新位置。 |
CreateDirectory,在指定路径创建一个目录。如果该目录已存在,则此方法不会创建新目录,但会返回现有目录的 DirectoryInfo 对象。
- DirectoryInfo directoryInfo = Directory.CreateDirectory(@"D:TestFold");
Delete,含有两个重载方法,
Delete(String),删除空目录,目录必须存在且为空(不包含任何文件及文件夹),否则都会报错。
- Directory.Delete(@"D:TestFold");
Delete(String, Boolean),bool值表示是否删除该目录中的所有子目录和文件。
- Directory.Delete(@"D:TestFold",true);
Exists,确定指定路径的目录是否存在。
- bool isExist = Directory.Exists(@"D:TestFold");
- Console.WriteLine(isExist);
GetDirectories,有三个重载方法,返回指定目录的子目录。
- string[] fold = Directory.GetDirectories(@"D:");
- foreach (var item in fold)
- {
- Console.WriteLine(item);
- }
Get
- string[] fold = Directory.GetDirectories(@"D:","PRO*");
- foreach (var item in fold)
- {
- Console.WriteLine(item);
- }
Get
- string[] fold = Directory.GetDirectories(@"D:GDAL","*",SearchOption.AllDirectories);
- foreach (var item in fold)
- {
- Console.WriteLine(item);
- }
GetCurrentDirectory:获取当前工作目录。
- string currentDir = Directory.GetCurrentDirectory();
- Console.WriteLine(currentDir);
GetFiles:返回指定目录文件名的数组,有三个重载方法,与GetDirectories相似。
Get
- string[] files = Directory.GetFiles(@"D:");
- foreach (var item in files)
- {
- Console.WriteLine(item);
- }
Get
- string[] files = Directory.GetFiles(@"D:","*.mkv");
- foreach (var item in files)
- {
- Console.WriteLine(item);
- }
Get
- string[] files = Directory.GetFiles(@"K:电影","*.mkv",SearchOption.AllDirectories);
- foreach (var item in files)
- {
- Console.WriteLine(item);
- }
GetFileSystemEntries:返回指定路径中的所有文件和子目录的名称。三个重载方法与上面类似,不赘述。
EnumerateFiles,返回文件名的IEnumerable<string>集合。三个重载方法与上面类似。
- IEnumerable<string> enumDir = Directory.EnumerateFiles(@"D:");
- foreach (var item in enumDir)
- {
- Console.WriteLine(item);
- }
EnumerateDirectories:返回目录的IEnumerable<string>集合。三个重载方法与上面类似。
Enumerate
Move:将文件或目录移动到新位置。两个参数必须一致,即均为文件名或均为文件目录。若新目录已存在会报异常。