C# DirectoryInfo类

2023-07-19 13:49:53 DirectoryInfo

1. DirectoryInfo类简介

DirectoryInfo类是C#中用于操作文件夹(目录)的类。它提供了一系列方便的方法和属性,能够用于创建、删除、移动、遍历文件夹等操作。通过DirectoryInfo类,我们可以方便地获取文件夹的信息,并对其中的文件和子文件夹进行操作。

2. DirectoryInfo类的常用方法和属性

2.1 创建、删除和移动文件夹

使用DirectoryInfo类可以轻松地创建、删除和移动文件夹。通过调用Create方法,可以在指定路径下创建新文件夹。如果需要删除文件夹,可以调用Delete方法。如果想要移动文件夹到不同的位置,可以使用MoveTo方法。下面是一些示例代码:

// 创建文件夹
DirectoryInfo dir = new DirectoryInfo(@"C:\temp\test");
dir.Create();

// 删除文件夹
dir.Delete();

// 移动文件夹
dir.MoveTo(@"C:\temp\newlocation");

2.2 获取文件夹的子文件和子文件夹

使用DirectoryInfo类,我们可以方便地获取文件夹中的子文件和子文件夹。通过调用GetFiles和GetDirectories方法,可以获得指定文件夹中的文件和文件夹列表。这些方法可以接受通配符参数,以便过滤特定类型的文件或文件夹。以下是一些示例代码:

// 获取文件
FileInfo[] files = dir.GetFiles();

// 获取指定类型的文件
FileInfo[] txtFiles = dir.GetFiles("*.txt");

// 获取子文件夹
DirectoryInfo[] subDirs = dir.GetDirectories();

// 获取指定名称的子文件夹
DirectoryInfo[] subDirs = dir.GetDirectories("subdir");

2.3 其他常用属性和方法

除了上述常用的方法外,DirectoryInfo类还提供了许多有用的属性和方法。其中,FullName属性用于获取文件夹的完整路径,Name属性用于获取文件夹的名称,Parent属性用于获取父文件夹,Exists属性用于判断文件夹是否存在。此外,还可以通过调用Refresh方法刷新文件夹的信息。以下是一些示例代码:

// 获取文件夹的完整路径
string fullPath = dir.FullName;

// 获取文件夹的名称
string folderName = dir.Name;

// 获取父文件夹
DirectoryInfo parentDir = dir.Parent;

// 判断文件夹是否存在
bool exists = dir.Exists;

// 刷新文件夹的信息
dir.Refresh();

3. 使用DirectoryInfo类遍历文件夹

通过DirectoryInfo类,我们能够方便地遍历文件夹中的文件和子文件夹。可以使用GetFiles和GetDirectories方法获取文件夹中的文件和文件夹列表,并通过循环遍历它们。下面是一个简单的示例代码:

DirectoryInfo dir = new DirectoryInfo(@"C:\temp");
// 获取文件夹中的文件列表
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
    Console.WriteLine(file.Name);
}

// 获取文件夹中的子文件夹列表
DirectoryInfo[] subDirs = dir.GetDirectories();
foreach (DirectoryInfo subDir in subDirs)
{
    Console.WriteLine(subDir.Name);
}

通过上述代码,我们可以逐个打印出文件夹中的所有文件和子文件夹的名称。这样可以方便地对文件夹中的内容进行遍历和处理。

总结:

DirectoryInfo类是C#中用于操作文件夹的类,它提供了一系列方便的方法和属性,能够用于创建、删除、移动、遍历文件夹等操作。通过调用Create、Delete和MoveTo方法,我们可以轻松地创建、删除和移动文件夹。使用GetFiles和GetDirectories方法可以方便地获取文件夹中的文件和子文件夹列表。此外,DirectoryInfo类还提供了一些常用的属性和方法,如FullName、Name、Parent、Exists和Refresh等。通过使用DirectoryInfo类,我们可以方便地操作文件夹并获取其中的内容。

相关文章