C# Directory用法之创建删除移动文件夹,获取子目录、文件名等

Directory Class,命名空间:System.IO
Path Class是用于通过目录和子目录进行创建、移动和枚举的静态方法。

        static void Main(string[] args)
        {

            //获取应用程序当前工作路径
            //返回String类型
            string appPath = Directory.GetCurrentDirectory();
            Console.WriteLine("当前应用程序的路径为:" + appPath);

            //创建目录
            //指定路径中创建所有目录和子目录,当LSTOther存在了,那就创建Test再在Test子文件夹下创建Other
            //无论指定路径的目录是否已经存在,都返回DirectoryInfo的对象
            DirectoryInfo a = Directory.CreateDirectory(appPath);
            Directory.CreateDirectory(appPath + "\\Delete1");//在Other里创建一个Delete1的子文件夹
            Directory.CreateDirectory(appPath + "\\Delete2");//在Other里创建一个Delete2的子文件夹
            Directory.CreateDirectory(appPath + "\\Delete2\\1");//在Delete2里创建一个1的子文件夹
            Directory.CreateDirectory(appPath + "\\Delete2\\2");//在Delete2里创建一个2的子文件夹
            Directory.CreateDirectory(appPath + "\\Delete2\\3");//在Delete2里创建一个3的子文件夹

            //获取当前目录的子目录(包括其路径)
            //返回String数组类型
            string[] pathArr = Directory.GetDirectories(appPath);
            Console.WriteLine("该目录的子目录如下:");
            for (int i = 0; i < pathArr.Length; i++)
                Console.WriteLine(pathArr[i]);

            //返回指定目录中与指定的搜索模式匹配的子目录的名称(包括其路径)
            //第二个参数可以包含有效文本和通配符的组合,但不支持正则表达式。
            //返回String数组类型
            string[] pathArr2 = Directory.GetDirectories(appPath, "*1");
            Console.WriteLine("该目录的子目录中含有1的子目录如下:");
            for (int i = 0; i < pathArr2.Length; i++)
                Console.WriteLine(pathArr2[i]);

            //获取当前目录的所有文件(包括其路径)
            //返回String数组类型
            string[] filesPathArr = Directory.GetFiles(appPath);
            Console.WriteLine("该目录的所有文件如下:");
            for (int i = 0; i < filesPathArr.Length; i++)
                Console.WriteLine(filesPathArr[i]);

            //返回指定目录中与指定的搜索模式匹配的文件的名称(包括其路径)
            //第二个参数可以包含有效文本和通配符的组合,但不支持正则表达式。
            //返回String数组类型
            string[] filesPathArr2 = Directory.GetFiles(appPath, "*.exe");
            Console.WriteLine("该目录的所有文件中含有1的子目录如下:");
            for (int i = 0; i < filesPathArr2.Length; i++)
                Console.WriteLine(filesPathArr2[i]);

            //获取目录的创建日期和时间
            //返回DateTime类型
            DateTime time = Directory.GetCreationTime(appPath + "\\Delete1");
            Console.WriteLine("目录Delete1创建的时间为:" + time.ToString());

            //获取目录的创建日期和时间,时间格式为UTC 时间
            //返回DateTime类型
            DateTime timeUTC = Directory.GetCreationTime(appPath + "\\Delete1");
            Console.WriteLine("目录Delete1创建的时间为(UTC格式的):" + timeUTC.ToString());

            //删除指定的空目录
            //删除Other文件夹,Other文件夹必须是空目录,否则会报异常
            Directory.Delete(appPath + "\\Delete1");

            //删除指定的目录下及目录下的子目录和文件
            //删除Other文件夹和Other文件夹下的子文件夹和文件
            Directory.Delete(appPath + "\\Delete2", true);

            //判断该路径目录是否存在,存在返回true,不存在返回false
            //删除Other文件夹和Other文件夹下的子文件夹和文件
            if (Directory.Exists(appPath))
                Console.WriteLine("目录:" + appPath + "  存在");
            else
                Console.WriteLine("目录:" + appPath + "  不存在");

            //将文件或目录及其内容移到新位置
            Directory.Move(appPath + "\\Test\\a.jpg", appPath + "\\newTest\\a.jpg");

        }

运行后的效果:
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C#获取文件夹下的文件名,可以使用System.IO命名空间中的Directory类的GetFiles方法。此方法将返回指定目录中的所有文件名(不包括子目录的文件)。以下是一个示例代码: ``` using System; using System.IO; namespace 获取文件文件夹 { class Program { static void Main(string[] args) { string path = @"E:\111"; string[] fls = Directory.GetFiles(path); Console.WriteLine($"根目录名:{path},含有文件数:{fls.Length}"); foreach (string f in fls) { Console.WriteLine($"{f}"); } Console.ReadKey(); } } } ``` 在上面的示例中,首先指定要获取文件名文件夹路径,然后使用`Directory.GetFiles(path)`方法获取文件夹下的所有文件名,并将结果存储在一个字符串数组中。最后,使用foreach循环遍历数组,将每个文件名打印出来。 希望这可以帮助到你!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C#获取文件和文件名称](https://blog.csdn.net/qq_24499417/article/details/104965496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [C#获取各种文件名](https://blog.csdn.net/weixin_50644076/article/details/125440280)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值