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

Tutorial Básico de Java

Controle de fluxo do Java

Array do Java

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Tratamento de Exceções Java

Lista (List) do Java

Fila (Queue) do Java

Conjunto Map do Java

Conjunto Set do Java

Entrada e saída do Java (I/O)

Reader do Java/Writer

Outros tópicos do Java

Programa Java para excluir diretórios vazios e não vazios

Exemplos Java Completo

Neste exemplo, vamos aprender a excluir um diretório vazio, um diretório não vazio e um diretório com subdiretórios não vazios no Java.

Exemplo1programa Java para deletar diretórios vazios

import java.io.File;
class Main {
  public static void main(String[] args) {
    try {
      //Criar um novo objeto de arquivo
      File diretório = new File("Diretório");
      //Excluir diretório
      boolean result = diretório.delete();
      if(result) {
        System.out.println("O diretório foi excluído");
      }
      else {
        System.out.println("Diretório não encontrado");
      }
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

No exemplo acima, usamos o método delete() da classe File para deletar o diretório chamadoDiretóriodo diretório.

Aqui, se o diretório existir, será exibida a mensagemO diretório foi deletado. Caso contrário, será exibido " Diretório não encontrado.

Para obter mais informações sobre arquivos, acesseJava File.

Exemplo2deletar diretórios não vazios

Para deletar um diretório não vazio no Java, devemos primeiro deletar todos os arquivos existentes no diretório. Em seguida, podemos deletar o diretório.

import java.io.File;
class Main {
  public static void main(String[] args) {
    try {
      //Criar um novo objeto de arquivo
      File diretório = new File("Diretório");
      //Listar todos os arquivos do array
      File[] arquivos = diretório.listFiles();
      //Deletar cada arquivo do diretório
      for(File arquivo : arquivos) {
        System.out.println(arquivo + " excluído.");
        arquivo.delete();
      }
      //Excluir diretório
      if(diretório.delete()) {
        System.out.println("O diretório foi excluído");
      }
      else {
        System.out.println("Diretório não encontrado");
      }
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

No exemplo acima, usamos for-Ciclo each para deletar todos os arquivos existentes no diretório. Após deletar todos os arquivos, use o método delete() para deletar o diretório.

Exemplo3recursivamente deletar diretórios não vazios

import java.io.File;
class Main {
  public static void deleteDirectory(File diretório) {
    //Se o arquivo é um diretório
    if(diretório.isDirectory()) {
      File[] arquivos = diretório.listFiles();
      //Se o diretório contiver qualquer arquivo
      if(arquivos != null) {
        for(File arquivo : arquivos) {
          //Se o subdiretório não estiver vazio, faça uma chamada recursiva
          deleteDirectory(arquivo);
        }
      }
    }
    if(diretório.delete()) {
      System.out.println(diretório + " foi excluído");
    }
    else {
      System.out.println("O diretório não foi excluído");
    }
  }
  public static void main(String[] args) {
    try {
      //Criar um novo objeto de arquivo
      File diretório = new File("Diretório");
      Main.deleteDirectory(directory);
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Aqui, suponha que tenhamos um diretório não vazio chamado Directory. O Directory contém2arquivos chamados file1txt e file2txt e um subdiretório não vazio chamado Subdirectory. Similarmente, o Subdirectory contém um arquivo chamado file11txt.

Agora, quando executarmos o programa, obteremos a seguinte saída.

Directory\file1txt foi deletado
Directory\file2txt foi deletado
Directory\Subdirectory\file11txt foi deletado
Directory\Subdirectory foi deletado
O diretório foi deletado

Aqui, primeiro deletar2Deletar um arquivo, em seguida, chamar a função recursiva para deletar os arquivos dentro do Subdirectory. Assim que o Subdirectory estiver vazio, deletá-lo. E, finalmente, deletar o Directory.

Exemplos Java Completo