C# 文件系统 - System.IO.Directory、System.IO.DirectoryInfo用法
一. 创建、移动和枚举通过目录和子目录的静态方法
System.IO.Directory
创建文件夹(返回 DirectoryInfo)
System.IO.Directory.CreateDirectory(pathString);
文件夹是否存在
System.IO.Directory.Exists(pathString);
从指定路径删除空目录(必须为空目录)
System.IO.Directory.Delete(@"G:\Test");
删除指定的目录并(如果指示)删除该目录中的所有子目录和文件
System.IO.Directory.Delete(@"G:\Test", true);
返回指定路径中与搜索模式匹配的目录名称的可枚举集合,还可以搜索子目录
(查找指定目录设置第二个参数eg: "*2*", 搜索子目录设置第三个参数eg:System.IO.SearchOption.AllDirectories)
List<string> enumerateDirectories = System.IO.Directory.EnumerateDirectories(@"G:\Test").ToList();
返回指定路径中的文件名的可枚举集合
(查找指定文件设置第二个参数eg: *.txt, 搜索子目录设置第三个参数eg:System.IO.SearchOption.AllDirectories)
List<string> enumerateFiles = System.IO.Directory.EnumerateFiles(@"G:\Test").ToList();
获取目录的创建日期和时间
类似的还有GetCreationTimeUtc、GetLastAccessTime、GetLastAccessTimeUtc、GetLastWriteTime、GetLastWriteTimeUtc
DateTime creationTime = System.IO.Directory.GetCreationTime(@"G:\Test");
获取指定目录中的子目录的名称(包括其路径).
(查找指定目录设置第二个参数eg: "*2*", 搜索子目录设置第三个参数eg:System.IO.SearchOption.AllDirectories)
string[] directories = System.IO.Directory.GetDirectories(@"G:\Test");
返回指定目录中文件的名称(包括其路径)
(查找指定目录设置第二个参数eg: "*2*", 搜索子目录设置第三个参数eg:System.IO.SearchOption.AllDirectories)
string[] files = System.IO.Directory.GetFiles(sourcePath);
将文件或目录及其内容移到新位置(33目录必须不存在的)
System.IO.Directory.Move(@"G:\Test\22", @"G:\Test\33");
为指定的文件或目录设置创建日期和时间
类似的还有:SetCreationTimeUtc、SetLastAccessTime、SetLastAccessTimeUtc、SetLastWriteTime、SetLastWriteTimeUtc
System.IO.Directory.SetCreationTime(@"G:\Test\22", DateTime.Now);
二. System.IO.DirectoryInfo(用于创建、移动和枚举目录和子目录的实例方法)
在指定的路径中初始化 System.IO.DirectoryInfo 类的新实例
System.IO.DirectoryInfo directoryInfo = new DirectoryInfo(@"G:\Test\33");
获取指示目录是否存在
directoryInfo.Exists
获取此 System.IO.DirectoryInfo 实例的名称(输出:33)
directoryInfo.Name;
获取目录或文件的完整目录(输出:G:\Test\33)
directoryInfo.FullName;
获取或设置当前文件或目录的创建时间
类似的还有:CreationTimeUtc、LastAccessTime、LastAccessTimeUtc、LastWriteTime、LastWriteTimeUtc
directoryInfo.CreationTime;
创建目录
directoryInfo.Create()
删除目录为空的目录
directoryInfo.Delete()
删除此目录、其子目录以及所有文件
directoryInfo.Delete(true)
返回当前目录中的目录信息的可枚举集合
(查找指定目录设置第一个参数eg: "*2*", 搜索子目录设置第二个参数eg:System.IO.SearchOption.AllDirectories)
List<DirectoryInfo> enumerateDirectories = directoryInfo.EnumerateDirectories().ToList();
返回当前目录中的文件信息的可枚举集合
(查找指定文件设置第一个参数eg: *.txt, 搜索子目录设置第二个参数eg:System.IO.SearchOption.AllDirectories)
List<FileInfo> enumerateFiles = directoryInfo.EnumerateFiles().ToList();
返回当前目录的子目录
(查找指定目录设置第一个参数eg: "*2*", 搜索子目录设置第二个参数eg:System.IO.SearchOption.AllDirectories)
DirectoryInfo[] directories = directoryInfo.GetDirectories();
返回当前目录的文件列表
(查找指定目录设置第一个参数eg: "*2*", 搜索子目录设置第二个参数eg:System.IO.SearchOption.AllDirectories)
FileInfo[] files = directoryInfo.GetFiles();
将 System.IO.DirectoryInfo 实例及其内容移动到新路径
directoryInfo.MoveTo(@"G:\Test\44");
刷新对象的状态
directoryInfo.Refresh();