Quantcast
Channel: GUJ - Tópicos com a tag java
Viewing all articles
Browse latest Browse all 17410

Busca usando Thread

$
0
0

@Lucas_Luan escreveu:

Galera estou procurando arquivos usando threads, o código que eu desenvolvi procura o arquivo certinho , mas acontece que ele não acaba a execução quando encontra , ou seja caso ele não encontre ele continua executando.

import java.io.File;
import java.util.Scanner;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import javax.swing.JOptionPane;

public class ProcuraArquivoThreadPool implements Runnable{

	private static boolean achou;
	private File pasta;
	private String arquivo;
	private Executor pool;

	public ProcuraArquivoThreadPool(File pasta, String arquivo, Executor pool) {
		this.pasta = pasta;
		this.arquivo = arquivo;
		this.pool = pool;
	}
	public static void procura(String pasta, String arquivo, Executor pool) {
		achou = false;
		pool.execute(new ProcuraArquivoThreadPool(new File(pasta), arquivo, pool));

	}

	public void run() {
		if(achou){
			return;
		}

		for(File f : pasta.listFiles()){
			if(achou){
				break;
			} else if(f.isDirectory()){
				pool.execute(new ProcuraArquivoThreadPool (f, arquivo, pool));                               
			} else if(f.getName().equalsIgnoreCase(arquivo)){
				System.out.println("Achei: " + f.getPath());
				achou = true;
				break;
			}
		}
	}

	public static void main (String[] args){
		Scanner teclado = new Scanner(System.in);

		//System.out.println("Digite o caminho da Pasta");
		//String pasta = teclado.nextLine();
		System.out.println("Digite o arquivo a ser procurado");
		String arquivo = teclado.nextLine();
		
                String pasta = "C:/";
		
                System.out.println("Procurando......");
		
		ScheduledExecutorService threadpool = Executors.newScheduledThreadPool(4);
		
		procura(pasta, arquivo,threadpool);
	}
}

Mensagens: 2

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 17410

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>