Em meio a uma necessidade recente, necessitei remover arquivos com terminações ".xxx" que não conheço (ou não quero controlar) e achei interessante postar aqui a solução.
Quando conhecemos o nome do arquivo a ser removido, bem como em qual diretório o mesmo se encontra, tudo fica mais fácil:
String nome = "C:/pasta_de_teste/teste.html"; File f = new File(nome); f.delete();
Mas o problema reside quando não conhecemos este caminho, ou mais ainda, quando ps arquivos são inseridos no diretório com nomes/terminações não identificadas pelo desenvolvedor.
Para tanto, podemos implementar o seguinte código (comentado):
Se desejar deletar todos os arquivos inclusive o próprio diretório raiz, pode utilizar o exemplo abaixo (recursivo):
public void removerArquivos(File f) { // Se o arquivo passado for um diretório if (f.isDirectory()) { /* Lista todos os arquivos do diretório em um array de objetos File */ File[] files = f.listFiles(); // Identa a lista (foreach) e deleta um por um for (File file : files) { file.delete(); } } }
Se desejar deletar todos os arquivos inclusive o próprio diretório raiz, pode utilizar o exemplo abaixo (recursivo):
public void removerArquivos(File f) { if (f.isDirectory()) { File[] files = f.listFiles(); for (File file : files) { removerArquivos(file); } } f.delete(); }
É isso! =)
-->