Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 21011|Απάντηση: 0

[Πηγή] Η C# παίρνει το μέγεθος του αρχείου

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 24/3/2016 5:14:17 μ.μ. | | |

Φυσικά, πρέπει να εισαγάγετε System.IO χώρο ονομάτων

Το πρώτο:

δημόσιο στατικό μακρύ GetDirectoryLength(string dirPath)
{
Προσδιορίστε εάν υπάρχει μια δεδομένη διαδρομή και βγείτε εάν δεν υπάρχει
αν (! Directory.Exists(dirPath))
επιστροφή 0;
μακρύ len = 0;

//定义一个DirectoryInfo对象
DirectoryInfo di = νέο DirectoryInfo(dirPath);

Χρησιμοποιήστε τη μέθοδο GetFiles για να λάβετε το μέγεθος όλων των αρχείων στον κατάλογο di
foreach (FileInfo fi in di.GetFiles())
{
len += fi. Μήκος;
}

Λάβετε όλους τους φακέλους στο di και αποθηκεύστε τους σε μια νέα σειρά αντικειμένων για αναδρομή
DirectoryInfo[] dis = di.GetDirectories();
αν (dis. Μήκος > 0)
{
για (int i = 0; Εγώ < dis. Μήκος; i++)
{
len += GetDirectoryLength(dis. Ονοματεπώνυμο);
}
}
επιστροφή len?
}

Το δεύτερο

Χρησιμοποιεί επίσης την ιδέα της αναδρομής, αλλά κρίνεται από τη μέθοδο Exits της κλάσης File

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

δημόσιο στατικό μακρύ FileSize(string filePath)
{
μακρά θερμοκρασία = 0;

//判断当前路径所指向的是否为文件
if (File.Exists(filePath) == false)
{
string[] str1 = Directory.GetFileSystemEntries(filePath);
foreach (συμβολοσειρά s1 σε str1)
{
temp += ΜέγεθοςΑρχείου(s1);
}
}
αλλιώς
{

Ορίστε ένα αντικείμενο FileInfo για να το συσχετίσετε με την κατεύθυνση του αρχείου στην οποία δείχνει το filePath,

//以获取其大小
FileInfo fileInfo = νέο FileInfo(filePath);
επιστροφή αρχείουInfo.Length;
}
θερμοκρασία επιστροφής?
}

Στην πραγματικότητα, η ιδέα της διαγραφής ενός φακέλου είναι η ίδια με αυτήν, η ρύθμιση είναι πολύ πιο απλή, απλά κρίνετε αν είναι αρχείο ή φάκελος, αν είναι αρχείο, διαγράψτε το. Εάν πρόκειται για φάκελο, είναι αναδρομικός




Προηγούμενος:Το αίτημα HTTP στο C# get, post συνοδεύεται από μια παράμετρο επανάληψης
Επόμενος:Ομοιότητες και διαφορές μεταξύ των διαλόγων φακέλων επιλογής Winform και WPF
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com