
·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> [C#]读取文件大小
关键代码:
/// <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");
测试效果:

希望有所帮助!