HttpClient4 实现文件下载,依赖commons-io-1.4.jar 附在附件中。
代码如下:
代码如下:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;
public class TestGoogle {
public static void main(String[] args) throws Exception {
downloadFile("http://www.dh189.com/images/dh189/dh189.gif", "c://dh189.gif");
}
/**
* 下载文件
*
* @param url 文件http地址
* @param dir 目标文件
* @throws IOException
*/
public static void downloadFile(String url, String dir) throws IOException {
HttpClient httpclient = new DefaultHttpClient();
//设置代理
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new HttpHost("192.168.0.101", 3128));
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
InputStream input = null;
try {
input = entity.getContent();
File file = new File(dir);
FileOutputStream output = FileUtils.openOutputStream(file);
try {
IOUtils.copy(input, output);
} finally {
IOUtils.closeQuietly(output);
}
} finally {
IOUtils.closeQuietly(input);
}
}
}