Pessoal, eu tenho um diretorio no FTP soh com imagens, e estou querendo adicionar ela numa lista de imagens pra exibir depois...
Fiz assim:
public ArrayList<Image> getFTP(String local) {
FTPClient ftp = new FTPClient();
ArrayList<Image> myArr = new ArrayList<Image>();
try {
ftp.connect(ip, 21);
ftp.login(login, password);
ftp.changeWorkingDirectory(local);
String[] lista = null;
lista = ftp.listNames();
for (int i=0; i<lista.length; i++) {
System.out.println(lista[i]); //imprimindo pra ver se ta certo
InputStream is = new BufferedInputStream(ftp.retrieveFileStream(lista[i]));
Image imagem = ImageIO.read(is);
myArr.add(imagem);
}
ftp.logout();
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return myArr;
}
}
Olhem o console: (Akela linha comentada do system.out... imprime Ford Mustang, que eh a primeira imagem)
Console:
Ford Mustang-3.7-Prata-1.jpg
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
.
.
.
Image imagem = ImageIO.read(is);