Существует проблема с простым использованием:
org.apache.commons.io.FileUtils.copyURLToFile(URL, File)
, если вам нужно загружать и сохранять очень большие файлы, или вообще, если вам нужны автоматические повторы в случае отказа соединения.
В таких случаях я предлагаю Apache HttpClient вместе с org.apache.commons.io.FileUtils. Например:
GetMethod method = new GetMethod(resource_url);
try {
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
logger.error("Get method failed: " + method.getStatusLine());
}
org.apache.commons.io.FileUtils.copyInputStreamToFile(
method.getResponseBodyAsStream(), new File(resource_file));
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
}