代码之家  ›  专栏  ›  技术社区  ›  MarlonRibunal

文件路径/大小(C)#

  •  1
  • MarlonRibunal  · 技术社区  · 16 年前

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

    1 回复  |  直到 5 年前
        1
  •  4
  •   Christian C. Salvadó    16 年前

    你可以使用 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);  
    }