欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#中使用Directory实现对文件夹的常用操作

程序员文章站 2022-03-04 13:08:51
...

场景

Directory

命名空间:System.IO

方法


CreateDirectory(String) 
在指定路径中创建所有目录和子目录,除非它们已经存在。
CreateDirectory(String, DirectorySecurity) 
在指定路径中创建所有目录(除非已存在),并应用指定的 Windows 安全性。
Delete(String) 
从指定路径删除空目录。
Delete(String, Boolean) 
删除指定的目录,并删除该目录中的所有子目录和文件(如果表示)。
EnumerateDirectories(String) 
返回指定路径中的目录名的可枚举集合。
EnumerateDirectories(String, String) 
返回指定路径中与搜索模式匹配的目录名的可枚举集合。
EnumerateDirectories(String, String, SearchOption) 
返回指定路径中与搜索模式匹配的目录名称的可枚举集合,还可以搜索子目录。
EnumerateFiles(String, String, SearchOption) 
返回指定路径中与搜索模式匹配的文件名称的可枚举集合,还可以搜索子目录。
EnumerateFiles(String) 
返回指定路径中的文件名的可枚举集合。
EnumerateFiles(String, String) 
返回指定路径中与搜索模式匹配的文件名称的可枚举集合。
EnumerateFileSystemEntries(String) 
返回指定路径中的文件名和目录名的可枚举集合。
EnumerateFileSystemEntries(String, String) 
返回指定路径中与搜索模式匹配的文件名和目录名的可枚举集合。
EnumerateFileSystemEntries(String, String, SearchOption) 
返回指定路径中与搜索模式匹配的文件名称和目录名的可枚举集合,还可以搜索子目录。
Exists(String) 
确定给定路径是否引用磁盘上的现有目录。
GetAccessControl(String) 
获取 DirectorySecurity 对象,该对象封装指定目录的访问控制列表 (ACL) 项。
GetAccessControl(String, AccessControlSections) 
获取一个 DirectorySecurity 对象,它封装指定目录的指定类型的访问控制列表 (ACL) 条目。
GetCreationTime(String) 
获取目录的创建日期和时间。
GetCreationTimeUtc(String) 
获取目录创建的日期和时间,其格式为协调通用时 (UTC)。
GetCurrentDirectory() 
获取应用程序的当前工作目录。
GetDirectories(String, String, SearchOption) 
返回与在指定目录中的指定搜索模式匹配的子目录的名称(包括其路径),还可以选择地搜索子目录。
GetDirectories(String) 
返回指定目录中的子目录的名称(包括其路径)。
GetDirectories(String, String) 
返回指定目录中与指定的搜索模式匹配的子目录的名称(包括其路径)。
GetDirectoryRoot(String) 
返回指定路径的卷信息、根信息或两者同时返回。
GetFiles(String) 
返回指定目录中文件的名称(包括其路径)。
GetFiles(String, String) 
返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。
GetFiles(String, String, SearchOption) 
返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径),使用某个值确定是否要搜索子目录。
GetFileSystemEntries(String) 
返回指定路径中的所有文件和子目录的名称。
GetFileSystemEntries(String, String) 
返回一个数组,其中包含与指定路径中的搜索模式相匹配的文件名和目录名称。
GetFileSystemEntries(String, String, SearchOption) 
返回指定路径中与搜索模式匹配的所有文件名和目录名的数组,还可以搜索子目录。
GetLastAccessTime(String) 
返回上次访问指定文件或目录的日期和时间。
GetLastAccessTimeUtc(String) 
返回上次访问指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。
GetLastWriteTime(String) 
返回上次写入指定文件或目录的日期和时间。
GetLastWriteTimeUtc(String) 
返回上次写入指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。
GetLogicalDrives() 
检索此计算机上格式为“<drive letter>:\”的逻辑驱动器的名称。
GetParent(String) 
检索指定路径的父目录,包括绝对路径和相对路径。
Move(String, String) 
将文件或目录及其内容移到新位置。
SetAccessControl(String, DirectorySecurity) 
将 DirectorySecurity 对象描述的访问控制列表 (ACL) 项应用于指定的目录。
SetCreationTime(String, DateTime) 
为指定的文件或目录设置创建日期和时间。
SetCreationTimeUtc(String, DateTime) 
设置指定文件或目录的创建日期和时间,其格式为协调通用时 (UTC)。
SetCurrentDirectory(String) 
将应用程序的当前工作目录设置为指定的目录。
SetLastAccessTime(String, DateTime) 
设置上次访问指定文件或目录的日期和时间。
SetLastAccessTimeUtc(String, DateTime) 
设置上次访问指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。
SetLastWriteTime(String, DateTime) 
设置上次写入目录的日期和时间。
SetLastWriteTimeUtc(String, DateTime) 
设置上次写入某个目录的日期和时间,其格式为协调通用时 (UTC)。

 

实现

创建文件夹

Directory.CreateDirectory(@"F:\a");
Console.WriteLine("创建成功");
Console.ReadKey();

删除文件夹

//删除文件夹--只能删除空文件夹
Directory.Delete(@"F:\a");
Console.WriteLine("删除成功");
Console.ReadKey();
//删除文件夹--以及文件夹下内容

directory.delete(@"f:\a", true);
console.writeline("删除成功");
console.readkey();

移动文件夹

//移动剪切,只能在同一个磁盘目录下,将目录a下的所有文件移到新建的new目录下,如果new已经存在则不行,原a文件夹不再存在
Directory.Move(@"F:\a", @"F:\new");
Console.WriteLine("剪切成功");
Console.ReadKey();

获得指定文件夹下的所有文件的全路径

//获得指定文件夹下的所有文件的全路径
string[] path = Directory.GetFiles(@"C:\Users\Administrator\Desktop\1");
获得指定文件夹下的指定文件的全路径
string[] path = Directory.GetFiles(@"C:\Users\Administrator\Desktop\1", "*.txt");
for (int i = 0; i < path.Length; i++)
  {
    Console.WriteLine(path[i]);
   }
    Console.ReadKey();

获取所有文件夹

//获取所有文件夹
string[] path = Directory.GetDirectories(@"C:\Users\Administrator\Desktop\1");
for (int i = 0; i < path.Length; i++)
    {
        Console.WriteLine(path[i]);
     }
    Console.ReadKey();

判断文件夹是否存在

//判断文件夹是否存在
if (Directory.Exists(@"C:\Users\Administrator\Desktop\1"))
    {
       for (int i = 0; i < 10; i++)
         {
             Directory.CreateDirectory(@"C:\Users\Administrator\Desktop\1\"+i);
          }
     }
     Console.WriteLine("OK");
     Console.ReadKey();