关键代码:
/// <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; }代码比较简单,那么我们来测试一下,有一个一兆多日志文件,来读取下,如图:
测试代码:
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");
测试效果:
希望有所帮助!
新闻热点
疑难解答