Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 28002|Svar: 0

[ASP.NET] C# hämtar antalet filer i den angivna mappen och alla filstorlekar

[Kopiera länk]
Publicerad på 2015-04-03 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. }
Kopiera koden




Föregående:Superkuk! Android-rotfri hyperterminal
Nästa:GridView-headertypsnittet under ASP.NET är inte fetstilt
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com