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