Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 28002|Risposta: 0

[ASP.NET] C# ottiene il numero di file nella cartella specificata e tutte le dimensioni dei file

[Copiato link]
Pubblicato su 03/04/2015 16:05:08 | | |
  1. public static float length = 0;//文件总大小
  2. public int dirNum = 0; //文件目录个数
  3. public int fileNum = 0; //文件个数
  4. //绑定文件大小
  5. public void binder()
  6. {
  7. string fileName = Server.MapPath("Dir/" + Session["UserName"].ToString());
  8. length = Convert.ToSingle(GetDirectoryLength(fileName));
  9. string size = "0";
  10. if (length < 1024)
  11. {
  12. size = string.Format("{0:N0}", length) + "B";
  13. }
  14. else if (length > 1024)
  15. {
  16. if (length < 1048576)
  17. {
  18. size = string.Format("{0:N1}", length / 1024) + "KB";
  19. }
  20. else
  21. {
  22. size = string.Format("{0:N2}", length / 1048576) + "MB";
  23. }
  24. }
  25. Response.Write(size);
  26. }

  27. //获取文件夹大小总和
  28. public long GetDirectoryLength(string dirPath)
  29. {
  30. //判断给定的路径是否存在,如果不存在则退出
  31. if (!Directory.Exists(dirPath))
  32. return 0;
  33. long len = 0; //目录文件大小总和

  34. //定义一个DirectoryInfo对象
  35. DirectoryInfo di = new DirectoryInfo(dirPath);

  36. //通过GetFiles方法,获取di目录中的所有文件的大小
  37. foreach (FileInfo fi in di.GetFiles())
  38. {
  39. len += fi.Length;
  40. }
  41. fileNum += di.GetFiles().Length;

  42. //获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归
  43. DirectoryInfo[] dis = di.GetDirectories();

  44. dirNum += dis.Length;

  45. if (dis.Length > 0)
  46. {

  47. for (int i = 0; i < dis.Length; i++)
  48. {
  49. len += GetDirectoryLength(dis[i].FullName);
  50. }
  51. }
  52. return len;

  53. }
Copia codice




Precedente:Super stronzo! Iperterminale senza radici Android
Prossimo:Il font dell'intestazione GridView sotto ASP.NET non è in grassetto
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com