Linhas de comando DOS via Java sem bat externa  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
monga1984
Thread.start()

Membro desde: 27/01/2010 09:04:32
Mensagens: 45
Offline

Oi gente, poderiam me ajudar como eu poderia limpar um diretório de arquivos via linha de comando java sem precisar iniciar bat via runtime e colocar comando deu dentro dela?

Digo isso pq estou evitando de utilizar bat externa... gostaria que essa limpeza de arquivos fosse intrinseca ao código, para deixá-lo mais compacto...

Valeu
maior_abandonado
Forum Spammer
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 1400
Localização: sp
Offline

você pode criar um objeto java.io.File para a pasta em questão.

tendo esse objeto, ele tem um metodo chamado listFiles se não me engano, é isso ou alguma coisa assim, olhe na documentação: http://java.sun.com/javase/6/docs/api/

esse método vai retornar um array de objetos file, cada item do array é um arquivo de dentro deste diretório em questão.

dai você dentro de um loop vai chamar o método delete() de cada objeto do array retornado.

Detalhe que esse método tem um problema, bug, sei la, que ja passei, muitas vezes não apaga de fato o arquivo, para isso você precisa chamar o garbage collector antes de apagar o arquvo, então antes de chamar o método delete, da um System.gc(). A parte de apagar ficaria alguma coisa +- assim:





bom... tem como você mandar para o listFiles um objeto FileFilter para pegar apenas arquivos de uma determinada extensão por exemplo... da uma pesquisada no forum e no google (eu mesmo acho que quando precisei disso fiz desse jeito, ja faz um bom tempo)

acho que é isso...>

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.

compro livro Enterprise Javabeans 3.0 usado em português
monga1984
Thread.start()

Membro desde: 27/01/2010 09:04:32
Mensagens: 45
Offline

valeu deu certo!
monga1984
Thread.start()

Membro desde: 27/01/2010 09:04:32
Mensagens: 45
Offline

monga1984 wrote:Oi gente, poderiam me ajudar como eu poderia limpar um diretório de arquivos via linha de comando java sem precisar iniciar bat via runtime e colocar comando deu dentro dela?

Digo isso pq estou evitando de utilizar bat externa... gostaria que essa limpeza de arquivos fosse intrinseca ao código, para deixá-lo mais compacto...

Valeu
monga1984
Thread.start()

Membro desde: 27/01/2010 09:04:32
Mensagens: 45
Offline

monga1984 wrote:Oi gente, poderiam me ajudar como eu poderia limpar um diretório de arquivos via linha de comando java sem precisar iniciar bat via runtime e colocar comando deu dentro dela?

Digo isso pq estou evitando de utilizar bat externa... gostaria que essa limpeza de arquivos fosse intrinseca ao código, para deixá-lo mais compacto...

Valeu
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team