Não entendo pq esta dando um estouro de pilha,
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space, no método abaixo...
//retorna um ArrayList contendo uma lista de arquivos jpg e suas respectivas info.
public ArrayList<Arquivo> consultaArquivo(String caminho){
File arquivo = new File(caminho);
//filtro, capturando somente arquivos com extensao .jpg, .jpeg, .bmp, .gif
FilenameFilter filtro = new FilenameFilter(){
public boolean accept(File arquivo, String name) {
return name.endsWith(".jpg")
||name.endsWith(".bmp")
||name.endsWith(".jpeg")
||name.endsWith(".gif");
}
};
//resultado recebe lista de arquivos .jpg contidos em um diretório.
this.arquivosDiretorio = arquivo.listFiles(filtro);
if(arquivosDiretorio.equals(null)){
JOptionPane.showMessageDialog(null, "Nenhum arquivo JPG disponível neste diretório");
}else{
for(int i=0;i<arquivosDiretorio.length;i++){
Arquivo registro = new Arquivo();
registro.setNome(arquivosDiretorio[i]);
registro.setTamanho(arquivosDiretorio[i]);
registro.setDimensao(arquivosDiretorio[i]);
registro.setExtensao(arquivosDiretorio[i]);
this.arrayFile.add(registro);
}
}
return arrayFile;
}
O seguinte código retorna um arraylist de objetos File() em um array, inserindo a cada linha uma imagem existente em um diretório esolhido pelo usuário... o problema é qdo o mesmo escolhe um diretório com dezenas de imagens... ocorre o estouro da heap...
Tentei colocar a váriavel arrayFile como variavel de instância, mais mesmo assim ocorre o erro
Alguem pode me ajudar? um abraço