Dúvida ao ler vários arquivos

3 respostas
wilsontads

Tenho um probleminha, gostaria de saber se alguem ja lidou com isto.

esse método é chamado em uma outra Thread.
public void searchFiles() throws Exception{    
            File afile[] = file.listFiles();
            int amountFiles = afile.length;
            mkdir();


            for (int i = 0; i < amountFiles; i++) {
                f = afile[i];
                fileName = f.getName();
                //...Inicia transação
				//... arquivo e insere informações no campo
				//...Copia o arquivo pra uma outra pasta e deleta-o
				//...Mesmo o amountFiles sendo igual a 15, o for é executado somente uma vez.				
                
            }
		}

3 Respostas

E

Debugue seu código (use um debugger como o do Eclipse ou do NetBeans).

Pelo que imagino, está ocorrendo uma exceção que você não está sabendo como tratar mas que está sendo capturada em outra parte do seu código. Então você acha que o loop foi executado apenas uma vez, mas é porque houve um erro que você não pegou na hora de executar.

E

Não se esqueça, é claro, de botar um breakpoint nesse método (já que ele é executado em outra thread, conforme você disse).

wilsontads

Então, ele sai do laço após executar o primeiro.
eu tenho uma Thread que criei só pra chamar essa execução, da seguinte forma:

if (th instanceof Thread) { th = null; } th = new Thread(new Runnable() { @Override public void run() { try { process(true); } catch (Exception ex) { ex.printStackTrace(); } } }); th.start();

O que observei é que tenho um botão que clico em PARAR, e ele deve interromper essa thread, chamei a ação da seguinte forma:

try { th.interrupt(); th=null; process(false); } catch (Exception ex) { ex.printstracktrace(); }

Porém, mesmo após chamar essa ação, a thread continua em execução. esse é um dos possíveis problemas que acredito quie esteja ocasionando isto

Criado 15 de março de 2013
Ultima resposta 15 de mar. de 2013
Respostas 3
Participantes 2