English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Java

Управление потоком Java

Массивы Java

Ориентированность на объекты Java (I)

Ориентированность на объекты Java (II)

Ориентированность на объекты Java (III)

Обработка исключений Java

Списки Java (List)

Стеки Java (Queue)

Мапы Java (Map)

Множества Java (Set)

Ввод/вывод (I/O) Java

Reader/Writer Java

Другие темы Java

Программа Java для удаления пустого и не пустого каталога

Java полный список примеров

В этом примере мы изучим, как удалять пустой каталог, не пустой каталог и каталог с не пустыми подкаталогами в Java.

Пример 1: Программа 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.

Пример 2: Удаление пустого каталога

В 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() для удаления каталога.

Пример 3: Рекурсивное удаление пустого каталога

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.

Java полный список примеров