예제 #1
0
        /// <summary>
        /// Return a long value as a human readable file size
        /// </summary>
        /// <param name="value">a long file size</param>
        /// <returns>A human readable file size string</returns>
        public static string GetFileSize(long value)
        {
            FileSize size = FileSize.Byte;
            double   outp = 0.0;

            if (value > (long)FileSize.PetaByte)
            {
                outp = value / (double)FileSize.PetaByte;
                size = FileSize.PetaByte;
            }
            else if (value > (long)FileSize.TerraByte)
            {
                outp = value / (double)FileSize.TerraByte;
                size = FileSize.TerraByte;
            }
            else if (value > (long)FileSize.GigaByte)
            {
                outp = value / (double)FileSize.GigaByte;
                size = FileSize.GigaByte;
            }
            else if (value > (long)FileSize.MegaByte)
            {
                outp = value / (double)FileSize.MegaByte;
                size = FileSize.MegaByte;
            }
            else if (value > (long)FileSize.KiloByte)
            {
                outp = value / (double)FileSize.KiloByte;
                size = FileSize.KiloByte;
            }
            else
            {
                outp = value;
                size = FileSize.Byte;
            }
            return(string.Format("{0:0.000} {1}", outp, size.GetDescription()));
        }