当前位置:文档之家› C#.net 计算文件大小

C#.net 计算文件大小

C# .net 计算文件大小!
返回文件大小! 例如:1M

private const double KBCount = 1024;
private const double MBCount = KBCount * 1024;
private const double GBCount = MBCount * 1024;
private const double TBCount = GBCount * 1024;

///


/// 得到适应的大小
///

///
/// string
public static string GetAutoSizeString(double size,int roundCount)
{
if (KBCount > size)
{
return Math.Round(size, roundCount) + "B";
}
else if (MBCount > size)
{
return Math.Round(size / KBCount, roundCount) + "KB";
}
else if (GBCount > size)
{
return Math.Round(size / MBCount, roundCount) + "MB";
}
else if (TBCount > size)
{
return Math.Round(size / GBCount, roundCount) + "GB";
}
else
{
return Math.Round(size / TBCount, roundCount) + "TB";
}
}



C# 文件大小换算(原创)

开发中有时候会遇到获取文件大小的功能。这里介绍下:
(1)获取文件的字节长度
///
/// 获取文件大小
///

///
///
public static long GetFileSize(string sFullName)
{
long lSize = 0;
if (File.Exists(sFullName))
lSize = new FileInfo(sFullName).Length;
return lSize;
}

(2)将文件的字节长度转换为实际应用中的大小
这里是一个计算方法:

private const double KBCount = 1024;
private const double MBCount = KBCount * 1024;
private const double GBCount = MBCount * 1024;
private const double TBCount = GBCount * 1024;

///
/// 计算文件大小函数(保留两位小数),Size为字节大小
///

/// 初始文件大小
///
public static string CountSize(long Size)
{
string m_strSize = "";
long FactSize = 0;
FactSize = Size;
if (FactSize < KBCount)
m_strSize = FactSize.ToString("F2") + " Byte";
else if (FactSize >= KBCount && FactSize < MBCount)
m_strSize = (FactSize / KBCount).ToString("F2") + " KB";
else if (FactSize >= MBCount && FactSize < GBCount)
m_strSize = (FactSize / MBCount).ToString("F2") + " MB";
else if (FactSize >= GBCount && FactSize < TBCount)
m_strSize = (FactSize / GBCount).ToString("F2") + " GB";
else if (FactSize >= TBCount)
m_strSize = (FactSize / TBCount).ToString("F2") + " TB";
return m_strSize;
}

(3)获取一个文件夹下匹配的所有文件的大小

///

/// 获取一批文件的大小
///


/// 文件所在的路径
/// 文件名称含通配符
///
public static long GetFilesSize(string sFilePath, string sMask)
{
long lSize = 0;
if (sMask.Trim() == "")
return lSize;
DirectoryInfo pDirectoryInfo = new DirectoryInfo(sFilePath);
if (pDirectoryInfo.Exists == false)
return lSize;
FileInfo[] pFileInfos = pDirectoryInfo.GetFiles(sMask, SearchOption.TopDirectoryOnly);
foreach (FileInfo e in pFileInfos)
{
lSize += GetFileSize(e.FullName);
}
return lSize;
}




相关主题
文本预览
相关文档 最新文档