程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成獲得文件夾年夜小的辦法

C#完成獲得文件夾年夜小的辦法

編輯:C#入門知識

C#完成獲得文件夾年夜小的辦法。本站提示廣大學習愛好者:(C#完成獲得文件夾年夜小的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成獲得文件夾年夜小的辦法正文


本文實例講述了C#完成獲得文件夾年夜小的辦法。分享給年夜家供年夜家參考。詳細以下:

固然了,起首都須要引入System.IO這個定名空間

第一個辦法:

public static long GetDirectoryLength(string dirPath)
{
  //斷定給定的途徑能否存在,假如不存在則加入
   if (!Directory.Exists(dirPath))
     return 0;
   long len = 0;
  //界說一個DirectoryInfo對象
   DirectoryInfo di = new DirectoryInfo(dirPath);
   //經由過程GetFiles辦法,獲得di目次中的一切文件的年夜小
   foreach (FileInfo fi in di.GetFiles())
   {
     len += fi.Length;
   }
   //獲得di中一切的文件夾,並存到一個新的對象數組中,以停止遞歸
   DirectoryInfo[] dis = di.GetDirectories();
   if (dis.Length > 0)
   {
     for (int i = 0; i < dis.Length; i++)
     {
       len += GetDirectoryLength(dis[i].FullName);
     }
   }
   return len;
}

第二個

//也是應用遞歸的思惟,只不外是經由過程File類的Exits辦法來斷定
//所給途徑中所對應的能否為文件
public static long FileSize(string filePath)
{
   long temp = 0;
   //斷定以後途徑所指向的能否為文件
   if (File.Exists(filePath) == false)
   {
     string[] str1 = Directory.GetFileSystemEntries(filePath);
     foreach (string s1 in str1)
     { 
       temp += FileSize(s1);
     }
   }
   else
   {
    //界說一個FileInfo對象,使之與filePath所指向的文件向聯系關系,
    //以獲得其年夜小
    FileInfo fileInfo = new FileInfo(filePath);
    return fileInfo.Length;
   }
   return temp;
}

其實刪除文件夾的思惟與這個是一樣的,設置要簡略許多,只需簡略的斷定一下以後的是文件照樣文件夾,假如是文件則刪除.是文件夾則遞歸

願望本文所述對年夜家的C#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved