关闭

C# 文件大小换算

标签: C#获得文件大小C#文件大小换算C#获得文件夹大小
5656人阅读 评论(1) 收藏 举报
分类:

原文地址:http://gis-conquer.blog.sohu.com/117812977.html


 开发中有时候会遇到获取文件大小的功能。这里介绍下:
(1)获取文件的字节长度

        /// <summary>
        /// 获取文件大小
        /// </summary>
        /// <param name="sFullName"></param>
        /// <returns></returns>
        public static long GetFileSize(string sFullName)
        {
            long lSize = 0;
            if (File.Exists(sFullName))
                lSize = new FileInfo(sFullName).Length;
            return lSize;
        }

(2)将文件的字节长度转换为实际应用中的大小
  这里是一个计算方法:

        /// <summary>
        /// 计算文件大小函数(保留两位小数),Size为字节大小
        /// </summary>
        /// <param name="Size">初始文件大小</param>
        /// <returns></returns>
        public static string CountSize(long Size)
        {
            string m_strSize = "";
            long FactSize = 0; 
            FactSize = Size;
            if (FactSize < 1024.00)
                m_strSize = FactSize.ToString("F2") + " Byte";
            else if (FactSize >= 1024.00 && FactSize < 1048576)
                m_strSize = (FactSize / 1024.00).ToString("F2") + " K";
            else if (FactSize >= 1048576 && FactSize < 1073741824)
                m_strSize = (FactSize / 1024.00 / 1024.00).ToString("F2") + " M";
            else if (FactSize >= 1073741824)
                m_strSize = (FactSize / 1024.00 / 1024.00 / 1024.00).ToString("F2") + " G";
            return m_strSize;
        }

(3)获取一个文件夹下匹配的所有文件的大小

        /// <summary>
        /// 获取一批文件的大小
        /// </summary>
        /// <param name="sFilePath">文件所在的路径</param>
        /// <param name="sMask">文件名称含通配符</param>
        /// <returns></returns>
        public static long GetFilesSize(string sFilePath, string sMask)
        {
            long lSize = 0;
            if (sMask.Trim() == "")
                return lSize;
            DirectoryInfo pDirectoryInfo = new DirectoryInfo(sFilePath);
            if (pDirectoryInfo.Exists == false)
                return lSize;
            FileInfo[] pFileInfos = pDirectoryInfo.GetFiles(sMask, SearchOption.TopDirectoryOnly);
            foreach (FileInfo e in pFileInfos)
            {
                lSize += GetFileSize(e.FullName);
            }
            return lSize;
        }


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:529023次
    • 积分:4350
    • 等级:
    • 排名:第7192名
    • 原创:49篇
    • 转载:63篇
    • 译文:0篇
    • 评论:45条
    最新评论