關(guān)鍵代碼:
/// <summary> /// 獲取文件大小—字節(jié) /// </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");
測試效果:

希望有所幫助!
新聞熱點(diǎn)
疑難解答
圖片精選