[RESOLVIDO]Limpar Pasta com Java

8 respostas
gpd38

Ola pessoal.

Estou com um pequeno problema, mas mesmo assim é um problema.
Estou executando alguns programas que fiz e este geram arquivos textos ou ate mesmo outros tipos de arquivos como jpeg etc…

O que eu estou querendo fazer é:
Criar um programa ou metodo em java que apague uma pasta inteira, independente se esta pasta estiver vazia ou nao.

Estava querendo fazer isso, pois sempre que executo os programas eles gravam sempre na mesma pasta e para não ficar enchendo o HD atoa gostaria de apaga-los.

Ja dei uma olhada sobre este assunto e encontro muita coisa sobre apagrar arquivos especificos, tipo txt, doc, exe, jpeg, etc e não sobre apagar pastas.

8 Respostas

Eder_Peixoto

Já tentou o método delete(), da classe File?
Nunca utilizei, mas pelo que li na documentação, deleta arquivos e diretórios.

gpd38

Dei uma olhada la.

É so fazer isso ?

Metodo(){
        String nome = "c:/temp/teste";
        File f = new File(nome);
        f.delete();
}

Se for so isso no meu nao funcionou .

T

Você precisa listar os arquivos da pasta e removê-los (com o método “delete”) um por um.

Se a pasta tiver outras subpastas, você precisa remover os arquivos e então os subdiretórios.

gpd38

Quando você fala em listar, como seria?

Como eu pego o nome e o tipo (“se precisar”) de cada objeto dentro de uma pasta para poder apagra-los

T

Um exemplo.

import java.io.File;

class LimparDiretorio {
    public void remover (File f) {
        if (f.isDirectory()) {
            File[] files = f.listFiles();
            for (int i = 0; i < files.length; ++i) {
                remover (files[i]);
            }
        }
        f.delete();
    }

    public static void main(String[] args) {
        LimparDiretorio ld = new LimparDiretorio();
        ld.remover (new File ("c:\temp\teste"));
    }
}
gpd38

PERFEITO.

Nota 10 pra vc thingol.

kcarboni

Tenho uma duvida parecida mais no meu caso queria que o programa apagasse somente o conteudo da pasta não a pasta inteira, alguém poderia me ajudar??? :evil: :evil: :evil:

Marky.Vasconcelos

Ué, se voce entendeu o código do thingol voce só não precisa usar recursividade para pegar todos os diretorios e nem apagar a raiz.

Ou voce pode usar o método list com um FileFilter.

Criado 27 de outubro de 2009
Ultima resposta 18 de ago. de 2010
Respostas 8
Participantes 5