[RESOLVIDO] Executar um arquivo por vez

9 respostas
jeovane.reges
Olá a todos, boa noite. Pessoal minha dúvida é a seguinte: Tenho um ArrayList onde armazeno alguns Files e gostaria de processá-los de um por um. No entanto, da maneira que meu código se encontra ele processa apenas o ultimo documento. Segue abaixo o meu código
ExtractsContentVCD e = null;
        
ArrayList<File> listFiles = new ArrayList<File>();
listFiles.add(new File("/home/jeovane/VCD/VCD_1.xml"));
listFiles.add(new File("/home/jeovane/VCD_2.xml"));

for (int i = 0; i < listFiles.size(); i++) {
    e = new ExtractsContentVCD(listFiles.get(i));
}
Alguém poderia me dizer o que devo mudar para que seja processado arquivo por arquivo e não apenas o último?

Desde de já obrigado pela atenção de todos.

9 Respostas

romarcio

Não entendi o que você quis dizer com processa-los, mas tem uma coisa que precisa ser modificada no seu loop.

List&lt;ExtractsContentVCD&gt; eList = new ArrayList&lt;ExtractsContentVCD&gt;();
        
ArrayList&lt;File&gt; listFiles = new ArrayList&lt;File&gt;();
listFiles.add(new File("/home/jeovane/VCD/VCD_1.xml"));
listFiles.add(new File("/home/jeovane/VCD_2.xml"));

for (int i = 0; i &lt; listFiles.size(); i++) {
    ExtractsContentVCD e = new ExtractsContentVCD(listFiles.get(i));
    eList.add(e);
}

Agora na lista eList, você terá todos os objetos ExtractsContentVCD que você criou no loop.

jeovane.reges

O que eu quis dizer foi o seguinte:
Imagine que em cada arquivo XML eu tenha um conjunto de instruções onde eu gostaria de executar primeiramente as instruções contidas no primeiro arquivo XML e após elas serem executadas, executar as instruções contida no segundo arquivo XML e assim por diante.

Ficou melhor de entender agora o que estou tentando fazer?

romarcio

Faça como eu fiz, adicione cada objeto ExtractsContentVCD em uma lista.

Depois faça um for nessa lista para trabalhar com os objetos, ou acesse direto o objeto através da posição da lista que você deseja trabalhar.

jeovane.reges

Irei testar aqui.
Caso tenha alguma dúvida retorno aqui :slight_smile:
Obrigado.

jeovane.reges
Deu certo :-D Ao menos pra minha necessidade nesse primeiro instante. Obrigado pela dica romarcio. Meu código ficou da seguinte maneira abaixo.
ArrayList<File> listFiles = new ArrayList<File>();
listFiles.add(new File("/home/jeovane/Dropbox/NetBeansProjects/JBOS/JBOS/web/VCD/VCD_1.xml"));
listFiles.add(new File("/home/jeovane/Dropbox/NetBeansProjects/JBOS/JBOS/web/VCD/VCD_2.xml"));

List<ExtractsContentVCD> eList = new ArrayList<ExtractsContentVCD>();

for (int i = 0; i < listFiles.size(); i++) {
    ExtractsContentVCD e = new ExtractsContentVCD(listFiles.get(i));
    eList.add(e);
}

for (int i = 0; i < eList.size(); i++) {
    queryJena = new ExecuteQueryJena("http://localhost:3030/dailymed/sparql", eList.get(i).getQueryVCD());
    System.out.println(queryJena.printQuery());
}
romarcio

:thumbup:
Legal que conseguiu!

Coloca seu post como resolvido agora.

jeovane.reges

Não ta aparecendo a opção pra mim editar e colocar como resolvido :S
Estranho isso…

romarcio

jeovane.reges:
Não ta aparecendo a opção pra mim editar e colocar como resolvido :S
Estranho isso…

Não tem essa opção, hehe…

Edita seu 1° post e no campo titulo, coloca ao lado do titulo [RESOLVIDO], dai vai ficar assim: Executar um arquivo por vez [RESOLVIDO]

jeovane.reges

Pronto, feito. :smiley:
Valeu, abraço.

Criado 20 de abril de 2013
Ultima resposta 20 de abr. de 2013
Respostas 9
Participantes 2