【发布时间】:2016-01-09 13:59:29
【问题描述】:
这里我尝试一个接一个地下载多个文件:
环境 - Java 1.6
public List<Attachment> download(List<Attachment> attachments)
{
for(Attachment attachment : attachments) {
attachment.setDownStatus("Failed");
String destLocation = "C:\Users\attachments";
try {
String attUrl = attachment.getUrl();
String fileName = attachment.getFileName();
URL url = new URL(attUrl);
File fileLocation = new File(destLoc, fileName);
FileUtils.copyURLToFile(url, fileLocation);
if(fileLocation.exists()) {
attachment.setDownStatus("Completed");
}
} catch(Exception e) {
attachment.setDownStatus("Failed");
} finally {
attachment.setDestLocation(destLocation);
}
}
return attachments;
}
我正在从提供的 URL (http://cdn.octafinance.com/wp-content/uploads/2015/07/google-hummingbird.jpg) 下载文件。
FileUtils.copyURLToFile(url, fileLocation);
上面的代码完美地完成了它的下载工作,没有任何问题。
我的问题:
如果附件列表更多,则需要更多时间,因此我想将其设为异步或并行过程,而不是按顺序下载。
【问题讨论】:
标签: java multithreading file asynchronous java-6