文件大小友好显示类

简介:
复制代码
  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;
        }
复制代码
本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2012/03/22/2411396.html,如需转载请自行联系原作者
    
相关文章
|
5月前
|
前端开发 Java
Java【代码分享 03】未分页数据根据参数进行后期分页(粘贴可用)
Java【代码分享 03】未分页数据根据参数进行后期分页(粘贴可用)
32 0
|
9月前
|
SQL Java 关系型数据库
从系统报表页面导出20w条数据到本地只用了4秒,我是如何做到的
最近有个学弟找到我,跟我描述了以下场景: 他们公司内部管理系统上有很多报表,报表数据都有分页显示,浏览的时候速度还可以。但是每个报表在导出时间窗口稍微大一点的数据时,就异常缓慢,有时候多人一起导出时还会出现堆溢出。 他知道是因为数据全部加载到jvm内存导致的堆溢出。所以只能对时间窗口做了限制。以避免因导出过数据过大而引起的堆溢出。最终拍脑袋定下个限制为:导出的数据时间窗口不能超过1个月。
|
12月前
|
存储 小程序
小程序图片上传,存储,获取,显示(含源码)
小程序图片上传,存储,获取,显示(含源码)
253 0
|
缓存
封装一个计算文件大小的功能
封装一个计算文件大小的功能
76 0
封装一个计算文件大小的功能
|
存储 JSON 前端开发
只需百来行代码,为你的Web页面增加本地文件操作能力,确定不试试吗?
笔者开源了一个`Web`思维导图[mind-map](https://github.com/wanglin2/mind-map),数据默认是存储在`localstorage`里,如果想保存到本地文件,需要使用导出功能,下次打开再使用导入功能,编辑完如果又想保存到文件,那么又需要从重新导出覆盖原来的文件,不得不说,可以但不优雅,所以最近增加了直接编辑本地文件的能力,体验了一下,还是不错的,并且就是调调`API`的事情,很简单,何乐而不为。
179 0
|
Python
【通用文件操作】文件自动整理
今天我们就带大家来实现一下文件自动整理的操作。在我们日常生活中,文件总是杂乱无章的,这个时候就需要我们整理一下。但是文件太多的话整理起来是非常麻烦的,因此我们今天就来用Python实现文件的自动整理。
125 0
|
Java
编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中
编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中
209 0
编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中
|
前端开发 JavaScript 搜索推荐
网页中默认图片的几种解决方式
网页中默认图片的几种解决方式
|
C语言
【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 函数形参设置 | 确保打开文件成功 | 统计文件大小 )
【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 函数形参设置 | 确保打开文件成功 | 统计文件大小 )
133 0
|
Shell Linux
Linux 技术篇-文件大小查看方法实例演示,查看指定文件大小,查看列表下所有文件夹和文件的大小
Linux 技术篇-文件大小查看方法实例演示,查看指定文件大小,查看列表下所有文件夹和文件的大小
163 0
Linux 技术篇-文件大小查看方法实例演示,查看指定文件大小,查看列表下所有文件夹和文件的大小