Здравствуйте.
У меня имеется следующая проблема:
Через запросы к ajax.googleapis.com/ajax/services/search/ я получаю json ответы и по полученным url я создаю новые потоки с загрузчиком изображения:
for(final GoogleResponseData responseData : googleResponse.getResults()) {
////
new Thread() {
@Override
public void run() {
try {
new ImageDownloader().downloadImage(responseData.getUrl(), path, fileName);
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
////
}
код загрузчика:
private void downloadImage(String imageUrl, String path, fileName) throws IOException {
URL u = new URL(imageUrl);
String type = imageUrl.substring(imageUrl.lastIndexOf("."));
URLConnection connection = u.openConnection();
File imageFile = new File(path);
imageFile.mkdirs();
OutputStream os = new FileOutputStream(path + fileName + type);
try {
IOUtils.copy(connection.getInputStream(), os);
} catch(IOException e) {
e.printStackTrace();
} finally {
os.close();
}
}
В итоге у меня большая часть изображений либо не сохраняются, либо не до конца скачиваются.
Хотя если это делать в один поток все изображения выкачиваются без проблем.