C#DirectoryInfo类用法详解
DirectoryInfo类是System.IO命名空间下的一个类,用于操作目录。
1. 创建DirectoryInfo对象
可使用DirectoryInfo类的构造函数创建一个新的DirectoryInfo对象,构造函数有两种重载情势:
- DirectoryInfo(string path):使用指定的路径创建DirectoryInfo对象。
- DirectoryInfo(string path, string searchPattern):使用指定的路径和搜索模式创建DirectoryInfo对象。
例如:
```csharp
DirectoryInfo directory = new DirectoryInfo("C:\Temp");
```
2. 属性和方法
DirectoryInfo类提供了一些属性和方法,用于操作目录。
- FullName属性:获得目录的完全路径。
```csharp
string fullPath = directory.FullName;
```
- Name属性:获得目录的名称(不包括路径)。
```csharp
string directoryName = directory.Name;
```
- Parent属性:获得目录的父级目录。
```csharp
DirectoryInfo parentDirectory = directory.Parent;
```
- Exists属性:判断目录是否是存在。
```csharp
bool exists = directory.Exists;
```
- Create方法:创建目录。
```csharp
directory.Create();
```
- Delete方法:删除目录。
```csharp
directory.Delete();
```
- GetDirectories方法:获得目录下的子目录。
```csharp
DirectoryInfo[] subDirectories = directory.GetDirectories();
```
- GetFiles方法:获得目录下的文件。
```csharp
FileInfo[] files = directory.GetFiles();
```
3. 示例代码
以下示例代码演示了怎样使用DirectoryInfo类创建、删除和遍历目录:
```csharp
using System;
using System.IO;
class Program
{
static void Main()
{
// 创建目录
DirectoryInfo directory = new DirectoryInfo("C:\Test");
directory.Create();
// 判断目录是否是存在
if (directory.Exists)
{
Console.WriteLine("目录已存在");
// 获得目录下的子目录
DirectoryInfo[] subDirectories = directory.GetDirectories();
foreach (var subDirectory in subDirectories)
{
Console.WriteLine("子目录:" + subDirectory.Name);
}
// 获得目录下的文件
FileInfo[] files = directory.GetFiles();
foreach (var file in files)
{
Console.WriteLine("文件:" + file.Name);
}
// 删除目录
directory.Delete();
}
else
{
Console.WriteLine("目录不存在");
}
}
}
```
以上就是DirectoryInfo类的用法详解。通过DirectoryInfo类,我们可以方便地创建、删除和遍历目录。
TOP