C#文件夹操作-Directory和DirectoryInfo的区别,使用

          文件夹操作类用于操作文件夹,可以完成创建,复制,移动,重命名,删除目录等操作。

         Directory类和DirectoryInfo类都是C#提供的用于操作文件夹的类,Directory类和File一样,所有的方法都是静态的。而DirectoryInfo类是普通类。         

        选择Directory类还是DirectoryInfo类的规则与File和FileInfo的规则相同:

        如果只执行一个操作,选择DirectoryInfo类,Directory类的静态方法对所有方法执行安全检查。

 

  • Directory,静态类,不可实例化

     //删除此目录
    Directory.Delete(@"C:\Users\Administrator\Desktop\新建文件夹")

    //删除此目录,true表示要是此目录有子目录也删除,否则就抛出异常
     Directory.Delete(@"C:\Users\Administrator\Desktop\新建文件夹", false);

    //此目录是否存在
    bool b =Directory.Exists(@"C:\Users\Administrator\Desktop\新建文件夹");

    //根据路径返回此目录下的子目录
    string[] dirs1 = Directory.GetDirectories(@"C:\Users\Administrator\Desktop\新建文件夹");

     //第二个参数表示:搜索的范围,就是搜索的文件夹包含“基础”关键字
    string[]dirs2 =Directory.GetDirectories(@"C:\Users\Administrator\Desktop\新建文件夹","*.mp3");

    //搜索目录下的所有文件
    string[]files =Directory.GetFiles(@"C:\Users\Administrator\Desktop\新建文件夹");

    //第三个参数表示:指定搜索操作应包括所有子目录还是仅包括当前目录。
    string[]files1 =Directory.GetFiles(@"C:\Users\Administrator\Desktop\新建文件夹","2.txt",SearchOption.AllDirectories);

    ///移动、剪切。只能在同一个磁盘中。目录没有Copy方法。可以使用Move()方法实现重命名。

    Directory.Move(@"F:\测试\33",@"F:\测试\32\33");

       Directory是位于System.IO的,需在代码开头引用System.IO 的命名空间:

using System.IO;
  • DirectoryInfo:文件夹的一个“类”

         用来描述一个文件夹对象(获取指定目录下的所有目录时返回一个DirectoryInfo数组)

            string load = @"D:\桌面文件\笔记\我的笔记\";
            
            DirectoryInfo info = new DirectoryInfo(load);
            //获取文件夹创建时间
            DateTime time = info.CreationTime;
            Console.WriteLine(time);
            //获取文件夹后缀名
            string str = info.Extension;
            Console.WriteLine(str);
            //FullName:获取全路径
            str = info.FullName;
            Console.WriteLine(str);
            //Parent:获取指定文件夹的父文件
            DirectoryInfo info2 = info.Parent;
            Console.WriteLine(info2.Name);
            //Root:获取指定文件夹的根目录
            DirectoryInfo info3 = info.Root;
            Console.WriteLine(info3);

            //CreateSubdirectory:创建一个新的文件夹
            info.Parent.CreateSubdirectory("我刚新建的");
            //GetDirectories:获取指定目录中子目录的名称
            string[] strlist = Directory.GetDirectories(@"D:\桌面文件");
            for (int i = 0; i < strlist.Length; i++)
            {
                Console.WriteLine(strlist[i]);
            }
            //GetCurrentDirectory:获取应用程序的当前文件目录
            string str2 = Directory.GetCurrentDirectory();
            Console.WriteLine(str2);
            //GetDirectoryRoot:获取指定目录中所有子目录的根目录
            str2 = Directory.GetDirectoryRoot(@"D:\桌面文件");
            Console.WriteLine(str2);
            Console.ReadLine();

 转载:

       C#文件夹操作-Directory和DirectoryInfo有什么区别 - 流星落 - 博客园 (cnblogs.com) 

      C#文件夹操作之Directory类和DirectoryInfo类_Survivor_lll的博客-CSDN博客_directoryinfo

 

 
 
posted @ 2022-03-24 18:36  wangwangwangMax  阅读(893)  评论(0编辑  收藏  举报