欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2014年08月20日 11:10:20   投稿:shichen2014  
這篇文章主要介紹了C#遞歸實現(xiàn)顯示文件夾及所有文件并計算其大小的方法,是遍歷算法中比較典型的一種應用,有不錯的學習借鑒價值,需要的朋友可以參考下

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

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

class Program
{
  static void Main(string[] args)
  {
    Console.WriteLine("輸入目標文件夾");
    string path = Console.ReadLine();
    FindFoldersAndFiles(path);
    Console.WriteLine("\r\n");
    Console.WriteLine("目標文件夾的總大小為:{0}個字節(jié)",GetDirectoryLength(path));
    Console.ReadKey();
  }
 
  //遞歸目標文件夾中的所有文件和文件夾
  private static void FindFoldersAndFiles(string path)
  {
    Console.WriteLine("文件夾" + path);
    //遍歷目標文件夾的所有文件
    foreach (string fileName in Directory.GetFiles(path))
    {
      Console.WriteLine("┣" + fileName);
    }
 
    //遍歷目標文件夾的所有文件夾
    foreach (string directory in Directory.GetDirectories(path))
    {
      FindFoldersAndFiles(directory);
    }
  }
 
  //遞歸計算文件夾大小
  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;
  }
}

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

希望對大家學習C#的算法有一定幫助。

相關文章

  • C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法

    C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法

    某論壇的評論區(qū)模塊,發(fā)現(xiàn)這功能很不錯,琢磨了一晚上做了大致一樣的,用來當做 注冊模塊 的頭像綁定功能,下面通過實例代碼給大家介紹下C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法,感興趣的朋友一起看看吧
    2021-11-11
  • 詳解C#中的string與String

    詳解C#中的string與String

    本篇文章主要對jC#中的小寫string與大寫String進行詳細介紹,相信對大家學習會有很好的幫助,需要的朋友一起來看下吧
    2016-12-12
  • C# 關于LoadLibrary的疑問詳解

    C# 關于LoadLibrary的疑問詳解

    這篇文章主要介紹了C# 關于LoadLibrary的疑問詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 利用C#實現(xiàn)獲取當前設備硬件信息

    利用C#實現(xiàn)獲取當前設備硬件信息

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)獲取當前設備硬件信息的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • C#基礎語法:方法參數(shù)詳解

    C#基礎語法:方法參數(shù)詳解

    這篇文章主要介紹了C#基礎語法:方法參數(shù)詳解,本文講解了值參數(shù)、引用參數(shù)、輸出參數(shù)、參數(shù)數(shù)組等參數(shù)類型,并分別給出代碼實例,需要的朋友可以參考下
    2015-06-06
  • C#插入法排序算法實例分析

    C#插入法排序算法實例分析

    這篇文章主要介紹了C#插入法排序算法,實例分析了C#排序算法的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#匹配中文字符串的4種正則表達式分享

    C#匹配中文字符串的4種正則表達式分享

    這篇文章主要介紹了C#匹配中文字符串的4種正則表達式分享,本文介紹了4種形式下的中文字符串匹配正則,需要的朋友可以參考下
    2014-08-08
  • C#事件用法實例淺析

    C#事件用法實例淺析

    這篇文章主要介紹了C#事件用法,以實例形式分析了C#中事件的定義、觸發(fā)及處理相關技巧,需要的朋友可以參考下
    2015-05-05
  • 淺談C#基礎之類的訪問修飾符

    淺談C#基礎之類的訪問修飾符

    淺談C#基礎之類的訪問修飾符,需要的朋友可以參考一下
    2013-03-03
  • C#中的多態(tài)深入理解

    C#中的多態(tài)深入理解

    如果面試時主考官要求你用一句話來描述多態(tài),盡可能的精煉,你會怎么回答?當然答案有很多,每個人的理解和表達不盡相同,但我比較趨向這樣描述:通過繼承實現(xiàn)的不同對象調(diào)用相同的方法,表現(xiàn)出不同的行為,稱之為多態(tài)
    2014-01-01

最新評論