C#对文件夹的操作主要用到两个类:Directory和DirectoryInfo,和文件操作的几个类一样,都是位于System.IO命名空间里
Directory
Directory类是一个静态类,可通过类名直接调用,不用实例化
Directory类常用方法:
Directory.CreateDirectory(string path);//在指定路径中创建所有目录和子目录,除非已经存在
Directory.Delete(string path);//从指定路径删除空目录
Directory.Delete(string path, bool recursive);//布尔参数为true可删除非空目录
Directory.Exists(string path);//确定路径是否存在
Directory.GetCreationTime(string path);//获取目录创建日期和时间
Directory.GetCurrentDirectory();//获取应用程序当前的工作目录
Directory.GetDirectories(string path);//返回指定目录所有子目录名称,包括路径
Directory.GetFiles(string path);//获取指定目录中所有文件的名称,包括路径
Directory.GetFileSystemEntries(string path);//获取指定路径中所有的文件和子目录名称
Directory.GetLastAccessTime(string path);//获取上次访问指定文件或目录的时间和日期
Directory.GetLastWriteTime(string path);//返回上次写入指定文件或目录的时间和日期
Directory.GetParent(string path);//检索指定路径的父目录,包括相对路径和绝对路径
Directory.Move(string soureDirName, string destName);//将文件或目录及其内容移到新的位置
Directory.SetCreationTime(string path);//为指定的目录或文件设置创建时间和日期
Directory.SetCurrentDirectory(string path);//将应用程序工作的当前路径设为指定路径
Directory.SetLastAccessTime(string path);//为指定的目录或文件设置上次访问时间和日期
Directory.SetLastWriteTime(string path);//为指定的目录和文件设置上次访问时间和日期
DirectoryInfo
DirectoryInfo类是非静态类(前一篇也说了带Info的一般都是非静态的),需要实例化
DirectoryInfo构造函数
下表列出了DirectoryInfo
类的构造函数。
构造函数 | 描述 |
---|---|
DirectoryInfo(String) | 它用于在指定的路径上初始化DirectoryInfo 类的新实例。 |
DirectoryInfo属性
下表中列出了DirectoryInfo
类的属性。
属性 | 描述 |
---|---|
Attributes | 它用于获取或设置当前文件或目录的属性。 |
CreationTime | 它用于获取或设置当前文件或目录的创建时间。 |
CreationTimeUtc | 它用于在协调的世界时间(UTC)中获取或设置创建时间。 |
Exists | 它用于获取一个值,指示目录是否存在。 |
Extension | 它用于获取表示文件扩展部分的字符串。 |
FullName | 它用于获取目录的完整路径。 |
LastAccessTime | 它用于获取或设置上次访问当前文件或目录的时间。 |
LastAccessTimeUtc | 用于在当前文件或目录被上次访问的协调世界时间(UTC)中获取或设置时间。 |
LastWriteTime | 它用于获取或设置当前文件或目录最后写入的时间。 |
LastWriteTimeUtc | 当最后一次写入当前文件或目录时,它用于在协调世界时(UTC)中获取或设置时间。 |
Name | 它用于获取此DirectoryInfo 实例的名称。 |
Parent | 它用于获取指定子目录的父目录。 |
Root | 它用于获取目录的根部分。 |
DirectoryInfo方法
下表列出了DirectoryInfo
类中定义的方法。
方法 | 描述 |
---|---|
Create() | 它用于创建一个目录。 |
Create(DirectorySecurity) | 它用于使用DirectorySecurity 对象创建目录。 |
CreateObjRef(Type) | 它用于创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。 |
CreateSubdirectory(String) | 它用于在指定的路径上创建一个子目录或子目录。 |
CreateSubdirectory(String,DirectorySecurity) | 它用于在具有指定安全性的指定路径上创建子目录或子目录。 |
Delete() | 如果DirectoryInfo 为空,则用于删除DirectoryInfo 。 |
Delete(Boolean) | 它用于删除DirectoryInfo 的实例,指定是否删除子目录和文件。 |
EnumerateDirectories() | 它返回当前目录中可用的目录信息集合。 |
EnumerateFiles() | 它在当前目录中返回无数的文件信息集合。 |
GetAccessControl() | 它用于获取一个DirectorySecurity 对象,该对象封装了目录的访问控制列表(ACL)条目。 |
GetDirectories() | 它返回当前目录的子目录。 |
GetFiles() | 它从当前目录返回文件列表。 |
GetType() | 它用于获取当前实例的类型。 |
MoveTo(String) | 它用于将DirectoryInfo 实例及其内容移动到新路径。 |
Refresh() | 它用于刷新对象的状态。 |
SetAccessControl(DirectorySecurity) | 它用于设置DirectorySecurity 对象描述的访问控制列表(ACL)条目。 |
ToString() | 它返回用户传递的原始路径。 |
文件夹操作和文件操作其实是类似的,所以这里我就不上代码了,看完文件操作,这篇文章应该很简单的