DirectoryInfo.Delete Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
DirectoryInfo Удаляет и его содержимое из пути.
Перегрузки
| Имя | Описание |
|---|---|
| Delete() |
Удаляет его DirectoryInfo , если он пуст. |
| Delete(Boolean) |
Удаляет этот экземпляр объекта DirectoryInfo, указывающий, следует ли удалять вложенные каталоги и файлы. |
Delete()
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
Удаляет его DirectoryInfo , если он пуст.
public:
override void Delete();
public override void Delete();
override this.Delete : unit -> unit
Public Overrides Sub Delete ()
Исключения
Каталог содержит файл только для чтения.
Каталог, описанный этим DirectoryInfo объектом, не существует или не найден.
Каталог не пуст.
–или–
Каталог — это текущий рабочий каталог приложения.
–или–
В каталоге есть открытый дескриптор, а операционная система Windows XP или более ранней версии. Этот открытый дескриптор может привести к перечислению каталогов. Дополнительные сведения см. в разделе "Практическое руководство. Перечисление каталогов и файлов".
Вызывающий объект не имеет требуемого разрешения.
Примеры
В следующем примере создается исключение, если вы пытаетесь удалить каталог, который не пуст.
using System;
using System.IO;
class Test
{
public static void Main()
{
// Specify the directories you want to manipulate.
DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");
try
{
// Create the directories.
di1.Create();
di1.CreateSubdirectory("temp");
//This operation will not be allowed because there are subdirectories.
Console.WriteLine("I am about to attempt to delete {0}", di1.Name);
di1.Delete();
Console.WriteLine("The Delete operation was successful, which was unexpected.");
}
catch (Exception)
{
Console.WriteLine("The Delete operation failed as expected.");
}
finally {}
}
}
open System.IO
// Specify the directories you want to manipulate.
let di1 = DirectoryInfo @"c:\MyDir"
try
// Create the directories.
di1.Create()
di1.CreateSubdirectory "temp" |> ignore
//This operation will not be allowed because there are subdirectories.
printfn $"I am about to attempt to delete {di1.Name}"
di1.Delete()
printfn "The Delete operation was successful, which was unexpected."
with _ ->
printfn "The Delete operation failed as expected."
Imports System.IO
Public Class Test
Public Shared Sub Main()
' Specify the directories you want to manipulate.
Dim di1 As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Try
' Create the directories.
di1.Create()
di1.CreateSubdirectory("temp")
'This operation will not be allowed because there are subdirectories.
Console.WriteLine("I am about to attempt to delete {0}", di1.Name)
di1.Delete()
Console.WriteLine("The Delete operation was successful, which was unexpected.")
Catch
Console.WriteLine("The Delete operation was unsuccessful, as expected.")
End Try
End Sub
End Class
Комментарии
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
Delete(Boolean)
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
- Исходный код:
- DirectoryInfo.cs
Удаляет этот экземпляр объекта DirectoryInfo, указывающий, следует ли удалять вложенные каталоги и файлы.
public:
void Delete(bool recursive);
public void Delete(bool recursive);
override this.Delete : bool -> unit
Public Sub Delete (recursive As Boolean)
Параметры
- recursive
- Boolean
true удаление этого каталога, его подкаталогов и всех файлов; falseв противном случае .
Исключения
Каталог содержит файл только для чтения.
Каталог, описанный этим DirectoryInfo объектом, не существует или не найден.
Каталог доступен только для чтения.
–или–
Каталог содержит один или несколько файлов или подкаталогов.recursivefalse
–или–
Каталог — это текущий рабочий каталог приложения.
–или–
Существует открытый дескриптор каталога или одного из его файлов, а операционная система Windows XP или более ранней версии. Этот открытый дескриптор может привести к перечислению каталогов и файлов. Дополнительные сведения см. в разделе "Практическое руководство. Перечисление каталогов и файлов".
Вызывающий объект не имеет требуемого разрешения.
Примеры
В следующем примере показано удаление каталога. Так как каталог удален, сначала закомментируйте Delete строку, чтобы проверить наличие каталога. Затем раскомментируйте ту же строку кода, чтобы проверить, успешно ли удален каталог.
using System;
using System.IO;
public class DeleteTest
{
public static void Main()
{
// Make a reference to a directory.
DirectoryInfo di = new DirectoryInfo("TempDir");
// Create the directory only if it does not already exist.
if (!di.Exists)
di.Create();
// Create a subdirectory in the directory just created.
DirectoryInfo dis = di.CreateSubdirectory("SubDir");
// Process that directory as required.
// ...
// Delete the subdirectory. The true indicates that if subdirectories
// or files are in this directory, they are to be deleted as well.
dis.Delete(true);
// Delete the directory.
di.Delete(true);
}
}
open System.IO
// Make a reference to a directory.
let di = DirectoryInfo "TempDir"
// Create the directory only if it does not already exist.
if not di.Exists then
di.Create()
// Create a subdirectory in the directory just created.
let dis = di.CreateSubdirectory "SubDir"
// Process that directory as required.
// ...
// Delete the subdirectory. The true indicates that if subdirectories
// or files are in this directory, they are to be deleted as well.
dis.Delete true
// Delete the directory.
di.Delete true
Imports System.IO
Public Class DeleteTest
Public Shared Sub Main()
' Make a reference to a directory.
Dim di As New DirectoryInfo("TempDir")
' Create the directory only if it does not already exist.
If di.Exists = False Then
di.Create()
End If
Dim dis As DirectoryInfo = di.CreateSubdirectory("SubDir")
' Create a subdirectory in the directory just created.
' Process that directory as required.
' ...
' Delete the subdirectory. The true indicates that if subdirectories
' or files are in this directory, they are to be deleted as well.
dis.Delete(True)
' Delete the directory.
di.Delete(True)
End Sub
End Class
Комментарии
Если у него DirectoryInfo нет файлов или подкаталогов, этот метод удаляет DirectoryInfo даже в том recursiveслучаеfalse. Попытка удалить непустую DirectoryInfo , когда recursive вызывается falseIOExceptionисключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл