这里面会用到IO-Commons-fileUtils。
多线程下载可以让每条下载都各司其职,互不干扰。
先写一个下载图片的类
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class TestDownloader {
public void download(String url,String name){
try {
FileUtils.copyURLToFile(new URL(url),new File(name));
} catch (IOException e) {
e.printStackTrace();
System.out.println("下载失败,请检查url");
}
}
}
下载
public class TestDownloadToThread extends Thread{
private String url;
private String name;
public TestDownloadToThread(String url, String name) {
this.url = url;
this.name = name;
}
@Override
public void run() {
TestDownloader td = new TestDownloader();
td.download(url,name);
}
public static void main(String[] args) {
TestDownloadToThread tdt1 = new TestDownloadToThread("http://www.pptbz.com/upfile/pptpic/201304/2013041015314369.jpg","src/panda.jpg");
TestDownloadToThread tdt2 = new TestDownloadToThread("http://www.pptbz.com/upfile/pptpic/201110/20111027164046345.jpg","src/child.jpg");
TestDownloadToThread tdt3 = new TestDownloadToThread("http://www.pptbz.com/upfile/pptpic/201112/20111203080413530.jpg","src/flower.jpg");
tdt1.start();
tdt2.start();
tdt3.start();
}
}
我这个地址是找的可以下的,有些图片地址下载会报403错误,这可能是有防盗链的原因。