C#控制台基础 获取文件大小的函数Length(优化版)

来源:互联网 发布:mac版本的greenvpn 编辑:程序博客网 时间:2024/06/05 10:32

镇场诗:慈心积善融学习,技术誓为大家学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;//这个using 不可缺少namespace ConsoleApplication1{    class Program    {        /// <summary>        /// 因为C#提供的文件的大小是以B为单位的,所以显示文件大小的时候会出现一大串数字很不方便        /// 所以,该函数为了方便地显示文件大小而出现        /// 函数说明,        /// 如果文件大小是0-1024B 以内的   显示以B为单位        /// 如果文件大小是1KB-1024KB之间的 显示以KB为单位        /// 如果文件大小是1M-1024M之间的   显示以M为单位        /// 如果文件大小是1024M以上的      显示以GB为单位        /// </summary>        /// <param name="lengthOfDocument"> 文件的大小 单位:B 类型:long</param>        /// <returns></returns>        static string Length(long lengthOfDocument)        {            if (lengthOfDocument < 1024)                return string.Format(lengthOfDocument.ToString() + 'B');            else if (lengthOfDocument > 1024 && lengthOfDocument <= Math.Pow(1024, 2))                return string.Format((lengthOfDocument / 1024.0).ToString() + "KB");            else if (lengthOfDocument > Math.Pow(1024, 2) && lengthOfDocument <= Math.Pow(1024, 3))                return string.Format((lengthOfDocument / 1024.0 / 1024.0).ToString() + "M");            else                return string.Format((lengthOfDocument / 1024.0 / 1024.0/1024.0).ToString() + "GB");        }        static void Main(string[] args)        {                        var theFolder = new DirectoryInfo(@"O:\");            var document = theFolder.GetFiles();//返回当前目录的的文件            Console.WriteLine(@"打开O:\被探测的文件夹,你所看的文件");            foreach (var aDocument in document)            {                Console.Write(" 文件名: {0,-20}", aDocument.Name);                Console.Write(" 文件大小: {0,-20}", Length(aDocument.Length));                               Console.WriteLine();                     }            Console.WriteLine();            //var file = theFolder.GetDirectories();//返回当前目录的文件夹            //Console.WriteLine(@"打开O:\被探测的文件夹,你所看的文件夹");            //foreach (var NextFolder in file)            //{                            //    Console.Write(" 文件夹名: {0,-30}", NextFolder.Name);              //    Console.WriteLine();            //}            Console.ReadKey();        }    }}












//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

感恩帮助过我的人。博客的精髓在技术部分,更在镇场一诗。
我是一个新手,代码还有许多不完善的地方,请您看代码的时候多多思考。
C#是一个优秀的语言,VS是一个优秀的编译软件,二者值得学习。如果您有一些不会的知识,咱们可以相互讨论。
如果您认为代码可以有改进的地方,有错误的地方,请留下评论,我会处理的。
注:如果我的博文无意中侵犯了您的权益,请告知。看到您的告知后,我将及时作出处理。
0 0
原创粉丝点击