Olá sou iniciante em Java e tenho uma dúvida sobre threads: eu estou fazendo um programa usando o netbeans (Swing: Testing.java), e ao clicar em um botão é chamada uma threads(PrintTask.java) que a cada 3 segundos procura um arquivo em um diretório e se caso encontrar(ele pode ser criado a qualquer momento por isso a procura a cada 3 segundos) é exibido uma mensagem ( System.out.printf(“achou/não achou”) ) , até aqui eu consegui fazer, o meu problema é que caso ache o arquivo ao invéz de imprimir a mensagem na tela, ela seja enviada ao Testing.java,… alguém pode me ajudar?
Código do botão:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
PrintTask task1 = new PrintTask("thread1");
ExecutorService threadExecutor = Executors.newFixedThreadPool(1);
threadExecutor.execute(task1);
}
Código do PrintTask.java:
import java.io.File;
public class PrintTask implements Runnable {
private int sleepTime;
private String threadName;
public PrintTask(String name) {
threadName = name; // configura nome da thread
sleepTime = 3000;// tempo em segundos
}
public void run() {
try{
File f = new File("/usr/local/Teste/Nome");
while(true){
Thread.sleep(sleepTime);
if(f.exists()){
System.out.printf("Achou!!!\n");
} else{
System.out.printf("Não Achou!!!\n");
System.exit(0) // caso não ache o programa vai encerrar
}
}
}
catch(InterruptedException exception){
exception.printStackTrace();
}
}
}
toda ajuda será bem vinda 