我想比较笨的办法就是用递归的办法找到每一个文件单元,总计文件的大小!
Directory.GetDirectories,Directory.GetFiles进行操作吧,但愿有用对你。:)

解决方案 »

  1.   

    一楼先了,感觉没什么别的先进的方法,在循环里面每次增加本次循环到的file的length,呵呵,想想是比较笨的。不过总可以实现你的要求的哦。
      

  2.   

    http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=220
      

  3.   

    我想可不可以调用Windows 的查找?
      

  4.   

    看了一下C# Primer 上面有说到怎么获取目录信息
    有一个DirectoryInfo的类可以做到,具体情况请查MSDN,我简要说明一下
    DirectoryInfo class 的成员函数GetFiles()不带参数的话会返回一个由FileInfo object构成的Array,代表目录中的所有文件
      

  5.   

    使用Windows API。
    或FileSystemObject对象。
      

  6.   

    using System;
    using System.IO;class Test 
    {
        public static void Main() 
        {
            try 
            {
                DirectoryInfo di = new DirectoryInfo(@"c:\");
                // Get only subdirectories that contain the letter "p."
                FileSystemInfo[] dirs = di.GetDirectories("*p*");
                Console.WriteLine("Number of directories with a p: {0}", dirs.Length);
                // Count all the files in each subdirectory that contain the letter "e."
                foreach (DirectoryInfo diNext in dirs) 
                {
                    Console.WriteLine("The number of files and directories " +
                        "in {0} is {1}", diNext, 
                        diNext.GetFileSystemInfos().Length);
                }
            }         catch (Exception e) 
            {
                Console.WriteLine("The process failed: {0}", e.ToString());
            }
        }
    }
      

  7.   

    自己递归写吧。
    因为我们右击一个文件夹看它的大小的时候,windows也是自己去算得,它也不会一下子的到这个文件夹的大小的。