Remoção de elemento de um vetor!

3 respostas
C

Pessoal tenho o seguinte trecho de código:

File[] children = fsv.getFiles(file, !hiddenVisible);

que me traz todos os arquivos e pastas de um diretório e tenho um for que percorre esse vetor de File:

for(int x=0; x<=children.length-1; x++) { if(children[x].isFile() && !children[x].getName().toLowerCase().endsWith(".xml")) { //remover aqui os elementos children[x] do children que não forem xml } }
Não estou conseguindo deletar um determinado elemento desse vetor.
Alguém sabe como eu faço isso ?

3 Respostas

D

cara tenta assim e ve se funciona??

for(int x=0; x<=children.length-1; x++)  
{     
      if(children[x].isFile() && !children[x].getName().toLowerCase().endsWith(".xml"))  
      {  
            children.remove(x);
      }       
}
C
dark neo:
cara tenta assim e ve se funciona??
for(int x=0; x<=children.length-1; x++)  
{     
      if(children[x].isFile() && !children[x].getName().toLowerCase().endsWith(".xml"))  
      {  
            children.remove(x);
      }       
}
Desse jeito nao funciona, ja teitei, o objeto children não é do tipo Vector. Ele foi declarado assim :
File[] children = fsv.getFiles(file, !hiddenVisible);
D

Acredito que seria mais fácil você usar uma ArrayList.

List<File> children = new ArrayList<File>();

No seu caso, alterar o método getFiles e fazê-lo retortar uma lista.

List<File> children = fsv.getFiles(file, !hiddenVisible);
Criado 27 de novembro de 2011
Ultima resposta 28 de nov. de 2011
Respostas 3
Participantes 3