Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 21011|Antwoord: 0

[Bron] C# krijgt de bestandsgrootte

[Link kopiëren]
Geplaatst op 24-03-2016 17:14:17 | | |

Natuurlijk moet je System.IO naamruimte introduceren

De eerste:

publieke statische lange GetDirectoryLength(string dirPath)
{
Bepaal of een gegeven pad bestaat en sluit af als dat niet zo is
als (! Directory.Exists(dirPath))
return 0;
long len = 0;

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

Gebruik de GetFiles-methode om de grootte van alle bestanden in de di-map te krijgen
foreach (FileInfo fi in di.GetFiles())
{
len += fi. Lengte;
}

Haal alle mappen in de di en sla ze op in een nieuwe array van objecten voor recursie
DirectoryInfo[] dis = di.GetDirectories();
als (dis. Lengte > 0)
{
voor (int i = 0; Ik < dit. Lengte; i++)
{
len += GetDirectoryLength(dis. VolNaam);
}
}
Return Len;
}

De tweede

Het gebruikt ook het idee van recursie, maar wordt beoordeeld met de Exit-methode van de File-klasse

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

publieke statische lange FileSize(string filePath)
{
lange temperatuur = 0;

//判断当前路径所指向的是否为文件
als (File.Exists(filePath) == onwaar)
{
string[] str1 = Directory.GetFileSystemEntries(filePath);
Foreach (Snaar S1 in STR1)
{
temp += FileSize(s1);
}
}
anders
{

Definieer een FileInfo-object om het te koppelen aan de bestandsrichting waarnaar de filePath wijst,

//以获取其大小
FileInfo fileInfo = nieuwe FileInfo(filePath);
return fileInfo.Length;
}
terugstroomtemperatuur;
}

In feite is het idee van het verwijderen van een map hetzelfde als dit, de instelling is veel eenvoudiger, beoordeel gewoon of het een bestand of een map is; als het een bestand is, verwijder het dan. Als het een map is, is het recursief




Vorig:Het HTTP-verzoek in C# get, post wordt geleverd met een retry-parameter
Volgend:Overeenkomsten en verschillen tussen Winform- en WPF-selectiefolderdialogen
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com