【C#IO操作- 用Directory 和Directoryinfo操作文件夹】

在C#中,System.IO 命名空间提供了多种操作文件和文件夹的类。Directory 和 DirectoryInfo 是两个用于操作文件夹的类。

Directory 类
Directory 类是一个静态类,提供了创建、移动、删除文件夹等操作的静态方法。

示例:使用 Directory 类操作文件夹

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // 创建一个新文件夹
        string newFolderPath = @"C:\NewFolder";
        if (!Directory.Exists(newFolderPath))
        {
            Directory.CreateDirectory(newFolderPath);
            Console.WriteLine("New folder created.");
        }

        // 获取特定文件夹的信息
        string existingFolderPath = @"C:\ExistingFolder";
        DirectoryInfo di = new DirectoryInfo(existingFolderPath);

        // 列出文件夹中的所有文件
        foreach (FileInfo file in di.GetFiles())
        {
            Console.WriteLine(file.Name);
        }

        // 移动文件夹
        string sourcePath = @"C:\ExistingFolder";
        string targetPath = @"C:\NewLocation\ExistingFolder";
        Directory.Move(sourcePath, targetPath);

        // 删除文件夹
        string folderToDelete = @"C:\FolderToDelete";
        Directory.Delete(folderToDelete, true); // true 表示删除包括所有子文件夹和文件
    }
}

DirectoryInfo 类
DirectoryInfo 类提供了一个对象模型,用于对文件夹进行操作,如移动、删除、获取子文件夹和文件列表等。

示例:使用 DirectoryInfo 类操作文件夹

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // 创建一个 DirectoryInfo 对象
        string folderPath = @"C:\NewDirectory";
        DirectoryInfo di = Directory.CreateDirectory(folderPath);

        // 获取文件夹的属性
        Console.WriteLine("Created: " + di.CreationTime);
        Console.WriteLine("Last accessed: " + di.LastAccessTime);

        // 获取子文件夹和文件的列表
        foreach (DirectoryInfo subDi in di.GetDirectories())
        {
            Console.WriteLine(subDi.Name);
        }
        foreach (FileInfo fi in di.GetFiles())
        {
            Console.WriteLine(fi.Name);
        }

        // 移动文件夹
        di.MoveTo(@"C:\NewLocation\NewDirectory");

        // 删除文件夹
        di.Delete(true); // true 表示删除包括所有子文件夹和文件
    }
}

注意事项
确保在执行操作前检查文件夹路径是否有效,以及是否具有足够的权限。
使用 Directory.Exists 方法可以检查文件夹是否存在。
使用 DirectoryInfo 对象可以获取文件夹的详细信息,如创建时间、最后访问时间等。
在移动或删除文件夹时,如果文件夹包含子文件夹和文件,需要使用 true 作为参数传递给 Delete 方法或 Directory.Move 方法,以确保递归删除。
移动文件夹时,可以使用 Directory.Move 或 DirectoryInfo.MoveTo 方法。
错误处理是文件和文件夹操作中的重要部分,建议使用 try-catch 块来捕获可能发生的异常。

想了解更多游戏开发知识,可以扫描下方二维码,免费领取游戏开发4天训练营课程
在这里插入图片描述

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值