zoukankan      html  css  js  c++  java
  • 文件大小友好显示类

     public static string GetFriendlySizeStr(string srcPath)
            {
                var size = 0l;
                size = GetDirSizeInBytes(srcPath);
                var unit = 1024;
                var kb = unit;
                if(size<10*kb)
                {
                    return string.Format("{0}Bytes", size);
                }
                var mb=kb* unit;
                if(size<10*mb)
                {
                    return string.Format("{0}.{1}KB", size/kb,size%kb);
                }
                var gb =mb* unit;
                if(size<gb)
                {
                    return string.Format("{0}.{1}MB", size/mb, size%mb/kb);
                }
                return string.Format("{0}GB {1}.{2}MB", size/gb, size/mb, size%mb/kb);
            }
            public static long GetDirSizeInMB(string srcPath)
            {
                return GetDirSizeInKB(srcPath)/1000;
            }
            public static long GetDirSizeInKB(string srcPath)
            {

                return GetDirSizeInBytes(srcPath) / 1000;
            }
            public static long GetDirSizeInBytes(string srcPath)
            {
                var dirSize = 0l;
                try
                {
                    
                    // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
                    string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
                    // 遍历所有的文件和目录
                    foreach (string file in fileList)
                    {
                        // 先当作目录处理如果存在这个目录就重新调用GetDirSize(string srcPath)
                        if (System.IO.Directory.Exists(file))
                        { dirSize+= GetDirSizeInBytes(file); }
                        else
                        {   dirSize += GetFileSizeInBytes(file);}
                    }
                }
                catch (Exception e)
                {
                }
                return dirSize;
            }
            public static long GetFileSizeInBytes(string file)
            {
                System.IO.FileInfo fiArr = new System.IO.FileInfo(file);
                return fiArr.Length;
            }
  • 相关阅读:
    【Git】Git 学习笔记(一)
    【工程 Shell】Shell 学习(一)
    Vue 使用 Antd 简单实现左侧菜单栏和面包屑功能
    GoF的23种设计模式的功能
    ASP 对数据库的操作
    注册表修改USB状态(开与关)
    EXE文件关联修复
    CentOS8安装Docker
    GoogleEarth无法连接服务器解决方法
    【转】Qt 实现的拷贝 文件/文件夹 的函数
  • 原文地址:https://www.cnblogs.com/jinzhao/p/2411396.html
Copyright © 2011-2022 走看看