Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 21011|Răspunde: 0

[Sursă] C# obține dimensiunea fișierului

[Copiază linkul]
Postat pe 24.03.2016 17:14:17 | | |

Desigur, trebuie să introduci System.IO spațiu de nume

Primul:

public static long GetDirectoryLength(string dirPath)
{
Determină dacă există o anumită cale și ieși dacă nu există
dacă (! Directory.Exists(dirPath))
returnează 0;
long len = 0;

//定义一个DirectoryInfo对象
DirectoryInfo di = new DirectoryInfo(dirPath);

Folosește metoda GetFiles pentru a obține dimensiunea tuturor fișierelor din directorul di
foreach (FileInfo fi în di.GetFiles())
{
len += fi. Lungime;
}

Ia toate folderele din DI și salvează-le într-un nou tablou de obiecte pentru recursivitate
DirectoryInfo[] dis = di.GetDirectories();
dacă (dis. Lungime > 0)
{
pentru (int i = 0; Nu < nu. Lungime; i++)
{
len += GetDirectoryLength(dis. Nume complet);
}
}
Întoarce-l pe Len;
}

A doua

De asemenea, folosește ideea de recursivitate, dar este judecată după metoda Ieșirilor din clasa File

//所给路径中所对应的是否为文件

public static long FileSize(string filePath)
{
temperatură lungă = 0;

//判断当前路径所指向的是否为文件
if (File.Exists(filePath) == false)
{
string[] str1 = Director.GetFileSystemEntries(filePath);
Foreach (string S1 în str1)
{
temp += FileSize(s1);
}
}
altfel
{

Definiți un obiect FileInfo pentru a-l asocia cu direcția fișierului indicată de filePath,

//以获取其大小
FileInfo fileInfo = noua FileInfo(filePath);
return fileInfo.Length;
}
returnare a temperaturii;
}

De fapt, ideea de a șterge un folder este aceeași ca aceasta, setarea este mult mai simplă, pur și simplu judecă dacă este un fișier sau un folder, dacă este un fișier, șterge-l. Dacă este un folder, este recursiv




Precedent:Cererea HTTP în C# get, post vine cu un parametru de retry
Următor:Asemănări și diferențe între dialogurile din folderele de selecție Winform și WPF
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com