Apagando arquivos

4 respostas
K

Olá pessoal,

Preciso criar uma classe Java que apague os arquivos de um diretório de tempos em tempos.
Alguém sabe como fazer isso?

Katy

4 Respostas

G

Olá!

A dúvida é como deletar o arquivo ou como fazer isso de tempos em tempos?
E que tempo é esse?

:grin:

V

vc consegue isso em 3 passos:

  1. crie um java.io.File passando o caminho da pasta que contem os arquivos a serem deletados;

  2. pegue os arquivos desta pasta com o método listFiles();

  3. percorra o array de File chamando o método delete();

pra rodar de tempos em tempos coloque a chamada do método dentro de um loop infinito com uma linha de Thread.sleep(periodo);

J

Outra alternativa ao 3º passo do “viecili”: use javax.swing.Timer e coloque o codigo pra deletar no ActionListener dele e defina o tempo entre os eventos…

K
Olá Pessoal muito obrigada pelas respostas.

Eu resolvi meu problema assim <img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/g.pngrin.png?v=9" title=":grin:" class="emoji" alt=":grin:">

public class Apagando

{

private void deleteFiles (String dirName)

{

File myFile = new File (dirName);

System.out.println(myFile);

String[] children = myFile.list();

for (int i=0; i<children.length; i++)

{

(new File(dirName + children[i])).delete();

}

System.out.println(“Arquivos apagados!”);

}
public static void main(String[] args) 
{
    int delay = 1000;   // delay for 1 sec.
    int period = 43200000;  // repeat every 12h.
    
    Timer timer = new Timer();
    
    try
    {
        timer.scheduleAtFixedRate(new TimerTask() 
        {
        	public void run() 
        	{
        		Apagando apa = new Apagando();
                apa.deleteFiles("C:/public/");
                Date dt = new Date();
                System.out.println(dt);
            }
        }, delay, period);
    }
    catch(Exception e)
    {
        System.out.print("Não foi possivel apagar os arquivos"+"\n");
        e.printStackTrace();
    }
    
}

}

Criado 29 de julho de 2005
Ultima resposta 29 de jul. de 2005
Respostas 4
Participantes 4