Samozřejmě je potřeba zavést System.IO jmenný prostor
První:
public static long GetDirectoryLength(string dirPath)
{ Urč, zda daná cesta existuje, a ukonči ji, pokud neexistuje. pokud (! Directory.Exists(dirPath)) return 0; dlouhý len = 0;
//定义一个DirectoryInfo对象 DirectoryInfo di = nový DirectoryInfo(dirPath);
Použijte metodu GetFiles, abyste získali velikost všech souborů v adresáři di foreach (FileInfo fi in di.GetFiles())
{ len += fi. Délka;
}
Získejte všechny složky do DI a uložte je do nového pole objektů pro rekurzi DirectoryInfo[] dis = di.GetDirectories(); pokud (dis. Délka > 0)
{ pro (int i = 0; Já < to. Délka; i++)
{ len += GetDirectoryLength(dis. FullName);
}
} Vrátit Len;
}
Druhá
Používá také myšlenku rekurze, ale je posuzována metodou Exits třídy File
//所给路径中所对应的是否为文件
public static long FileSize(string filePath)
{ dlouhá teplota = 0;
//判断当前路径所指向的是否为文件 if (File.Exists(filePath) == false)
{ string[] str1 = Directory.GetFileSystemEntries(filePath); Foreach (řetězec S1 ve Str1)
{ temp += FileSize(s1);
}
} jinak
{
Definujte objekt FileInfo, který jej přiřadí ke směru souboru vedenému cestou k souboru,
//以获取其大小 FileInfoFileInfo = nový FileInfo(filePath); zpětný souborInfo.Length;
} návratová teplota;
}
Ve skutečnosti je myšlenka mazání složky stejná jako tato, nastavení je mnohem jednodušší, stačí posoudit, jestli je to soubor nebo složka, pokud je to soubor, smažte ji. Pokud je to složka, je rekurzivní |