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

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM