·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> [C#]读取文件大小

[C#]读取文件大小

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

关键代码:

        /// <summary>
        /// 获取文件大小—字节
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>文件大小</returns>
        public static long GetSize(string filePath)
        {
            long _size = 0;
            try
            {
                if (File.Exists(filePath))
                {
                    FileStream _stream = new FileStream(filePath, FileMode.Open);
                    _size = _stream.Length;
                    _stream.Close();
                    _stream.Dispose();
                }
            }
            catch (Exception ex)
            {
                _size = 0;
                Debug.WriteLine(string.Format("获取文件大小异常,原因:{0}", ex.Message));
            }
            return _size;
        }
        /// <summary>
        /// 获取文件大小—kb
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>文件大小_kb</returns>
        public static double GetKBSize(string filePath)
        {
            double _kb = 0;
            long _size = GetSize(filePath);
            if (_size != 0)
            {
                _kb = _size / 1024d;
            }
            return _kb;
        }
        /// <summary>
        /// 获取文件大小—mb
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>文件大小_mb</returns>
        public static double GetMBSize(string filePath)
        {
            double _mb = 0;
            long _size = GetSize(filePath);
            if (_size != 0)
            {
                _mb = _size / 1048576d;//1024*1024==1048576;
            }
            return _mb;
        }
代码比较简单,那么我们来测试一下,有一个一兆多日志文件,来读取下,如图:
image
测试代码:
                string _path = @"C:\CodePlex\CSharpUtilHelp\UtilHelp\LogUtilHelpV2Test\bin\Release\Log\20140731.log";
                Console.WriteLine("File Size:" + FileToolV2.GetSize(_path));
                Console.WriteLine("File Size_kb:" + FileToolV2.GetKBSize(_path) + " kb");
                Console.WriteLine("File Size_mb:" + FileToolV2.GetMBSize(_path) + " mb");

测试效果:

image

希望有所帮助!