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:将文件或目录移动到新位置。两个参数必须一致,即均为文件名或均为文件目录。若新目录已存在会报异常。