Метод Delete
Directory.Delete(path) удаляет только
пустую папку. Чтобы убрать файлы и
подпапки, передают recursive: true.
Непустой каталог без recursive
вызывает IOException. Создание -
CreateDirectory.
Есть DeleteAsync.
Синтаксис
Directory.Delete(path);
Directory.Delete(path, recursive: true);
Пример
Давайте удалим пустую папку abcde:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
Directory.Delete("abcde");
bool res = Directory.Exists("abcde");
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Пример
Давайте удалим папку с файлом через
recursive: true:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
File.WriteAllText("abcde/12345.txt", "12345");
Directory.Delete("abcde", true);
Console.WriteLine(Directory.Exists("abcde"));
}
}
Результат выполнения кода:
False
Пример
Непустую папку без recursive удалить
нельзя - такой вызов бросает
IOException:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
File.WriteAllText("abcde/12345.txt", "12345");
try
{
Directory.Delete("abcde");
}
catch (IOException)
{
Console.WriteLine("fail");
}
Directory.Delete("abcde", true);
}
}
Результат выполнения кода:
"fail"
Смотрите также
-
метод
CreateDirectory,
который создаёт каталог -
метод
Move,
который переносит вместо удаления -
метод
Exists,
который проверяет, удалена ли папка -
File,
которым создают файлы в каталоге