1

如何获取文件的文件目录 (C:\myfolder\subfolder\mydoc.pdf)。我还想添加子文件夹的大小,最后是主文件夹的大小。这适用于我需要与 SQL Server 2005 集成以生成 SSRS 报告的 .NET CLR。

4

1 回答 1

4

您可以使用GetDirectoryName,仅获取文件的目录路径:

using System.IO;
string directoryName = Path.GetDirectoryName(@"C:\myfolder\subfolder\mydoc.pdf");
// directoryName now contains "C:\myfolder\subfolder"

为了计算目录和子目录的大小,你可以这样做:

public static long DirSize(DirectoryInfo d) 
{    
    long Size = 0;    
    // Add file sizes.
    FileInfo[] fis = d.GetFiles();
    foreach (FileInfo fi in fis) 
    {      
        Size += fi.Length;    
    }
    // Add subdirectory sizes.
    DirectoryInfo[] dis = d.GetDirectories();
    foreach (DirectoryInfo di in dis) 
    {
        Size += DirSize(di);   
    }
    return(Size);  
}
于 2008-10-18T07:00:45.540 回答