English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом примере мы изучим, как удалять пустой каталог, не пустой каталог и каталог с не пустыми подкаталогами в Java.
import java.io.File; class Main { public static void main(String[] args) { try { // Создание нового объекта файла File directory = new File("Directory"); // Удаление каталога boolean result = directory.delete(); if(result) { System.out.println("Каталог удален"); } else { System.out.println("Не найден каталог"); } } catch (Exception e) { e.getStackTrace(); } } }
В上面的 примере мы использовали метод delete() класса File для удаления каталога с именемDirectoryкаталога.
Здесь, если каталог существует, будет отображаться сообщениеКаталог удален. В противном случае, будет отображаться: Не найден каталог.
Чтобы узнать больше о файлах, пожалуйста, обратитесь вJava File.
В Java для удаления пустого каталога我们必须 сначала удалить все файлы, существующие в этом каталоге. Затем мы можем удалить каталог.
import java.io.File; class Main { public static void main(String[] args) { try { // Создание нового объекта файла File directory = new File("Directory"); // Вывод всех файлов из массива File[] files = directory.listFiles(); // Удаление каждого файла из каталога for(File file : files) { System.out.println(file + " удален."); file.delete(); } // Удаление каталога if(directory.delete()) { System.out.println("Каталог удален"); } else { System.out.println("Каталог не найден"); } } catch (Exception e) { e.getStackTrace(); } } }
В上面的 примере мы использовали цикл for-each для удаления всех файлов, существующих в каталоге. После удаления всех файлов мы используем метод delete() для удаления каталога.
import java.io.File; class Main { public static void deleteDirectory(File directory) { // Файл является ли каталогом if(directory.isDirectory()) { File[] files = directory.listFiles(); // Если каталог содержит любые файлы if(files != null) { for(File file : files) { // Если подкаталог не пуст, то выполняется рекурсивный вызов deleteDirectory(file); } } } if(directory.delete()) { System.out.println(directory + " была удалена"); } else { System.out.println("Папка не удалена"); } } public static void main(String[] args) { try { // Создание нового объекта файла File directory = new File("Directory"); Main.deleteDirectory(directory); } catch (Exception e) { e.getStackTrace(); } } }
Здесь, предположим, что у нас есть не пустой каталог Directory. Включает Directory 2 файла,命名的 file1.txt и file2.txt, и не пустой подкаталог Subdirectory. Также, Subdirectory включает файл,命名为 file11.txt.
Теперь, когда мы запустим программу, мы получим следующий вывод.
Directory\file1.txt был удален Directory\file2.txt был удален Directory\Subdirectory\file11.txt был удален Directory\Subdirectory был удален Каталог удален
Здесь, сначала удаляем 2 файла, затем рекурсивную функцию для удаления файлов в Subdirectory. Как только Subdirectory becomes пустым, удаляем его. В конце концов, удаляем Directory.