获取文件大小(KB)

时间:2016-05-09 08:57:15

标签: c# c#-4.0

我以KB格式存储数据库中的文件。我尝试将文件信息的文件长度返回转换为KB,如下所示。

FileInfo FileVol = new FileInfo(DownloadPath);
int SizeinKB = (int)(FileVol).Length / 1024 ;

如果从DB返回的文件大小和以KB为单位的大小值相等,那么只有我的代码允许从DownloadPath安装软件。但是我总是以KB为单位的值(小于KB的值)(总是1 KB)。我有什么问题。

请帮忙解决。

2 个答案:

答案 0 :(得分:3)

您可以使用此方法计算文件大小:

static readonly string[] SizeSuffixes =
                  { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };

    static string SizeSuffix(Int64 value)
    {
        if (value < 0) { return "-" + SizeSuffix(-value); }

        int i = 0;
        decimal dValue = (decimal)value;
        while (Math.Round(dValue / 1024) >= 1)
        {
            dValue /= 1024;
            i++;
        }

        return string.Format("{0:n1} {1}", dValue, SizeSuffixes[i]);
    }

然后在计算大小后,您可以使用if - else检查来解决您的问题

答案 1 :(得分:1)

FileInfo FileVol = new FileInfo(DownloadPath);
string fileLength = FileVol.Length.ToString();
string length = string.Empty;
if (FileVol.Length >= (1 << 10))
  length= string.Format("{0}Kb", FileVol.Length >> 10);

长度=&GT;将产生文件的KB。