国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#遞歸實(shí)現(xiàn)顯示文件夾及所有文件并計(jì)算其大小的方法

2020-01-24 02:30:11
字體:
供稿:網(wǎng)友

算法中遞歸的一個(gè)典型應(yīng)用就是遍歷目標(biāo)文件夾,并把該文件夾下的所有文件和文件夾打印或顯示出來,還可以遞歸計(jì)算出目標(biāo)文件夾的總大小。本文即以實(shí)例形式展示了C#遞歸實(shí)現(xiàn)顯示目標(biāo)文件夾的所有文件和文件夾,并計(jì)算目標(biāo)文件夾的大小的方法。

具體實(shí)現(xiàn)代碼如下:

class Program{  static void Main(string[] args)  {    Console.WriteLine("輸入目標(biāo)文件夾");    string path = Console.ReadLine();    FindFoldersAndFiles(path);    Console.WriteLine("/r/n");    Console.WriteLine("目標(biāo)文件夾的總大小為:{0}個(gè)字節(jié)",GetDirectoryLength(path));    Console.ReadKey();  }   //遞歸目標(biāo)文件夾中的所有文件和文件夾  private static void FindFoldersAndFiles(string path)  {    Console.WriteLine("文件夾" + path);    //遍歷目標(biāo)文件夾的所有文件    foreach (string fileName in Directory.GetFiles(path))    {      Console.WriteLine("┣" + fileName);    }     //遍歷目標(biāo)文件夾的所有文件夾    foreach (string directory in Directory.GetDirectories(path))    {      FindFoldersAndFiles(directory);    }  }   //遞歸計(jì)算文件夾大小  static long GetDirectoryLength(string path)  {    if (!Directory.Exists(path))    {      return 0;    }     long size = 0;     //遍歷指定路徑下的所有文件    DirectoryInfo di = new DirectoryInfo(path);    foreach (FileInfo fi in di.GetFiles())    {      size += fi.Length;    }     //遍歷指定路徑下的所有文件夾    DirectoryInfo[] dis = di.GetDirectories();    if (dis.Length > 0)    {      for (int i = 0; i < dis.Length; i++)      {        size += GetDirectoryLength(dis[i].FullName);      }    }     return size;  }}

如上圖所示,即為本文實(shí)例在遍歷目標(biāo)文件夾時(shí),使用遞歸顯示目標(biāo)文件夾下所有文件夾和文件,并使用遞歸計(jì)算目標(biāo)文件夾的總大小。

希望對大家學(xué)習(xí)C#的算法有一定幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹤庆县| 太湖县| 密云县| 鄂州市| 大冶市| 买车| 东平县| 衡东县| 施秉县| 哈巴河县| 大安市| 蒙城县| 贵德县| 香港 | 韩城市| 隆安县| 淳安县| 扎赉特旗| 咸阳市| 茌平县| 南安市| 衡阳市| 陆良县| 探索| 西峡县| 合作市| 陆良县| 于田县| 忻州市| 长春市| 上犹县| 利川市| 衢州市| 惠东县| 祁阳县| 明水县| 安吉县| 东平县| 宁远县| 巧家县| 同江市|