|

- public static float length = 0;//文件总大小
- public int dirNum = 0; //文件目录个数
- public int fileNum = 0; //文件个数
- //绑定文件大小
- public void binder()
- {
- string fileName = Server.MapPath("Dir/" + Session["UserName"].ToString());
- length = Convert.ToSingle(GetDirectoryLength(fileName));
- string size = "0";
- if (length < 1024)
- {
- size = string.Format("{0:N0}", length) + "B";
- }
- else if (length > 1024)
- {
- if (length < 1048576)
- {
- size = string.Format("{0:N1}", length / 1024) + "KB";
- }
- else
- {
- size = string.Format("{0:N2}", length / 1048576) + "MB";
- }
- }
- Response.Write(size);
- }
- //获取文件夹大小总和
- public 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;
- }
- fileNum += di.GetFiles().Length;
- //获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归
- DirectoryInfo[] dis = di.GetDirectories();
- dirNum += dis.Length;
- if (dis.Length > 0)
- {
- for (int i = 0; i < dis.Length; i++)
- {
- len += GetDirectoryLength(dis[i].FullName);
- }
- }
- return len;
- }
-
复制代码 |
上一篇:超屌!安卓免root权限超级终端下一篇:ASP.NET下的GridView表头字体不加粗
|