標籤:style blog http color os io 檔案 for
關鍵代碼:
/// <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");
測試效果:
希望有所協助!