Oczywiście musisz wprowadzić System.IO przestrzeń nazw
Pierwsza z nich:
public static long GetDirectoryLength(string dirPath)
{ Określ, czy dana ścieżka istnieje, i wyjdź, jeśli nie istnieje jeśli (! Directory.Exists(dirPath)) return 0; long len = 0;
//定义一个DirectoryInfo对象 DirectoryInfo di = new DirectoryInfo(dirPath);
Użyj metody GetFiles, aby uzyskać rozmiar wszystkich plików w katalogu di foreach (FileInfo fi in di.GetFiles())
{ len += fi. Długość;
}
Pobierz wszystkie foldery do di i zapisz je w nowej tablicy obiektów do rekurencji DirectoryInfo[] dis = di.GetDirectories(); if (dis. Długość > 0)
{ dla (int i = 0; To < to. Długość; i++)
{ len += GetDirectoryLength(dis. FullName);
}
} return len;
}
Druga
Wykorzystuje także ideę rekurencji, ale ocenia się ją metodą Exits klasy pliku
//所给路径中所对应的是否为文件
public static long FileSize(string filePath)
{ długa temperatura = 0;
//判断当前路径所指向的是否为文件 if (File.Exists(filePath) == false)
{ string[] str1 = Directory.GetFileSystemEntries(filePath); foreach (struna s1 w str1)
{ temp += FileSize(s1);
}
} else
{
Zdefiniuj obiekt FileInfo, aby powiązać go z kierunkiem pliku wskazanym przez ścieżkę pliku,
//以获取其大小 FileInfo fileInfo = nowy FileInfo(filePath); plik zwrotnyInfo.Length;
} temperatura powrotna;
}
W rzeczywistości idea usuwania folderu jest podobna do tej, ustawienie jest dużo prostsze, wystarczy ocenić, czy to plik, czy folder, jeśli to plik, usuń go. Jeśli to folder, to jest rekurencyjny |