Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 21011|Відповідь: 0

[Джерело] C# отримує розмір файлу

[Копіювати посилання]
Опубліковано 24.03.2016 17:14:17 | | |

Звісно, потрібно ввести System.IO простір імен

Перший:

public static long GetDirectoryLength(string dirPath)
{
Визначити, чи існує певний шлях, і вийти, якщо ні
якщо (! Directory.Exists(dirPath))
return 0;
long 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; Я < це. Довжина; i++)
{
len += GetDirectoryLength(dis. Повне ім'я);
}
}
Повернення Лена;
}

Друга

Вона також використовує ідею рекурсії, але оцінюється методом Exits класу File

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

публічний статичний довгий FileSize(string filePath)
{
довга температура = 0;

//判断当前路径所指向的是否为文件
якщо (File.Exists(filePath) == хибно)
{
string[] str1 = Directory.GetFileSystemEntries(filePath);
Foreach (рядок S1 у Str1)
{
temp += FileSize(s1);
}
}
інше
{

Визначте об'єкт FileInfo, щоб пов'язати його з напрямком файлу, на який вказує filePath,

//以获取其大小
FileInfo fileInfo = новий FileInfo(filePath);
файл поверненняІнформація.Довжина;
}
повернена температура;
}

Насправді ідея видалення папки така сама, налаштування набагато простіше: просто вирішити, чи це файл чи папка, якщо це файл — видалити її. Якщо це папка, вона рекурсивна




Попередній:HTTP-запит у C# get, post містить параметр повторного перегляду
Наступний:Схожості та відмінності між діалогами папок вибору Winform і WPF
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com