Cara você já deu uma olhada na classe java.io.File ? Lé tem um monte de métodos pra você manipular arquivos e diretórios, dentre os métodos existentes tem um chamado delete.
Daí você pode fazer:
Primeiro, tens que garantir que o ficheiro tenha permissão de escrita para o usuário em que o java roda. Para fazer:
a) Apagar o ficheiro escolhido:
Você vai acessá-lo como um arquivo qualquer (com um objeto da classe File) e depois invocará o método delete.
b) Apagar todos os ficheiros e/ou arquivos dentro de um determinado ficheiro:
b.1) Apagar todos:
Poderás acessar o ficheiro, apagá-lo e recriá-lo, que é a maneira mais simples mas não mais elegante de se fazer.
Outra maneira que poderias fazer é acessar o determinado ficheiro pai, invocar o método listFiles, percorrer a array e ir deletando um a um.
b.2) Apagar somente ficheiros, preservando os arquivos:
Irás seguir os passos da segunda maneira que mencionei no item b.1), só que irás fazer um laço condicional, verificando se é um arquivo ou não( método isFile ou isDirectory). O resto é só implementar sua lógica.
file = arquivo (ficheiro)
directory (folder) = diretório ou pasta
importjava.util.*;importjava.io.*;classApagarDiretorio{/** * @param dir o diretório a ser apagado * @param apagados A lista de arquivos e diretórios apagados * @param naoApagados A lista de arquivos não-apagados. */publicbooleanapagarDiretorio(Filedir,List<File>apagados,List<File>naoApagados){System.out.println(dir);File[]arqs=dir.listFiles();booleantudo=true;if(dir.isDirectory()){for(Filef:arqs){if(f.isFile()){f.delete();if(!f.exists()){apagados.add(f);}else{naoApagados.add(f);tudo=false;}}elseif(f.isDirectory()){tudo=tudo&apagarDiretorio(f,apagados,naoApagados);}}dir.delete();if(!dir.exists()){apagados.add(dir);}}returntudo;}publicstaticvoidmain(String[]args){// Criando um diretório e vários subdiretórios e arquivosFilef1=newFile("C:/TEMPXXX/YYY/ZZZ/WWW");f1.mkdirs();Filef2=newFile("C:/TEMPXXX/YYY/AAA/WWW");f2.mkdirs();Filef3=newFile("C:/TEMPXXX/BBB/ZZZ");f3.mkdirs();try{File.createTempFile("aaa",".bbb",f1);File.createTempFile("qwe",".rty",f2);File.createTempFile("asd",".fgh",f3);}catch(IOExceptionex){ex.printStackTrace();}// Agora vamos testarList<File>apagados=newArrayList<File>();List<File>naoApagados=newArrayList<File>();ApagarDiretorioad=newApagarDiretorio();booleantudo=ad.apagarDiretorio(newFile("C:/TEMPXXX"),apagados,naoApagados);System.out.println("Apagou tudo? "+tudo);System.out.println("Lista de arquivos apagados");System.out.println(apagados);System.out.println("Lista de arquivos não apagados");System.out.println(naoApagados);}}
M
maquiavelbona
thingol:
file = arquivo (ficheiro)
directory (folder) = diretório ou pasta
…
Meu português de Portugal está deveras enferrujado.