C# 编程指南:目录和文件夹操作

在C#中,可以使用System.IO命名空间中的类来进行目录和文件夹操作。

部分
1
创建目录(Create Directory)
可以使用Directory类的CreateDirectory方法来创建一个新的目录。
// 创建目录的示例代码

string directoryPath = "path/to/directory";

Directory.CreateDirectory(directoryPath);

在上面的示例中,我们使用CreateDirectory方法创建了一个新的目录。如果目录已存在,该方法不会引发异常。

部分
2
删除目录(Delete Directory)
可以使用Directory类的Delete方法来删除一个目录。
// 删除目录的示例代码

string directoryPath = "path/to/directory";

Directory.Delete(directoryPath);

在上面的示例中,我们使用Delete方法删除了指定的目录。如果目录非空,需要使用重载的Delete方法,并将第二个参数设置为true,以递归删除目录及其内容。

部分
3
检查目录是否存在(Check if Directory Exists)
可以使用Directory类的Exists方法来检查目录是否存在。
// 检查目录是否存在的示例代码

string directoryPath = "path/to/directory";

if (Directory.Exists(directoryPath))
{
    // 目录存在
}
else
{
    // 目录不存在
}

在上面的示例中,我们使用Exists方法检查指定的目录是否存在,并根据结果执行相应的操作。

部分
4
获取目录中的文件和子目录(Get Files and Subdirectories in Directory)
可以使用Directory类的GetFiles和GetDirectories方法来获取目录中的文件和子目录列表。
// 获取目录中的文件和子目录的示例代码

string directoryPath = "path/to/directory";

string[] files = Directory.GetFiles(directoryPath);
string[] subdirectories = Directory.GetDirectories(directoryPath);

在上面的示例中,我们使用GetFiles方法获取目录中的所有文件的路径,并使用GetDirectories方法获取目录中的所有子目录的路径。返回的结果是字符串数组,其中每个元素表示一个文件或子目录的路径。

部分
5
移动目录(Move Directory)
可以使用Directory类的Move方法来移动一个目录到新的位置。
// 移动目录的示例代码

string sourceDirectory = "path/to/source/directory";
string destinationDirectory = "path/to/destination/directory";

Directory.Move(sourceDirectory, destinationDirectory);

在上面的示例中,我们使用Move方法将一个目录从源位置移动到目标位置。

部分
6
用递归的方式在C#中获取目录中的所有文件和子目录
// 递归获取目录中的所有文件和子目录的示例代码

static void Main(string[] args)
{
    string directoryPath = "path/to/directory";
    GetAllFilesAndDirectories(directoryPath);
}

static void GetAllFilesAndDirectories(string directoryPath)
{
    // 获取当前目录中的文件
    string[] files = Directory.GetFiles(directoryPath);
    foreach (string file in files)
    {
        Console.WriteLine("File: " + file);
    }

    // 获取当前目录中的子目录
    string[] subdirectories = Directory.GetDirectories(directoryPath);
    foreach (string subdir in subdirectories)
    {
        Console.WriteLine("Directory: " + subdir);
        
        // 递归调用,获取子目录中的文件和子目录
        GetAllFilesAndDirectories(subdir);
    }
}

在上面的示例中,我们定义了一个名为GetAllFilesAndDirectories的递归方法。该方法接受一个目录路径作为参数,并在该目录中获取所有文件和子目录。 首先,我们使用Directory.GetFiles方法获取当前目录中的所有文件,并使用foreach循环输出每个文件的路径。 然后,我们使用Directory.GetDirectories方法获取当前目录中的所有子目录,并使用foreach循环输出每个子目录的路径。接着,我们对每个子目录递归调用GetAllFilesAndDirectories方法,以获取子目录中的文件和子目录。 通过递归调用,我们可以遍历整个目录结构,获取目录中的所有文件和子目录。 请注意,在实际使用中,请根据需要修改输出文件和子目录的方式,例如保存到集合中或执行其他操作。

    目录

  • 1.
    创建目录(Create Directory)
  • 2.
    删除目录(Delete Directory)
  • 3.
    检查目录是否存在(Check if Directory Exists)
  • 4.
    获取目录中的文件和子目录(Get Files and Subdirectories in Directory)
  • 5.
    移动目录(Move Directory)
  • 6.
    用递归的方式在C#中获取目录中的所有文件和子目录