/**
* 封装下载图片方法
* @param url 下载地址
* @param filename
* @return 下载成功为true
*/

public boolean downfile(String url,String filename,String filePath){
InputStream is=null;
FileOutputStream out=null;
HttpGet httpGet = new HttpGet(url);
try {
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 20000);

DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpResponse response;
response = httpClient.execute(httpGet);


if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
HttpEntity entity = response.getEntity();
is = entity.getContent();
long fileSize = entity.getContentLength();//根据响应获取文件大小
if (fileSize <= 0) throw new RuntimeException("无法获知文件大小 ");
if (is == null) throw new RuntimeException("stream is null");
File file = new File(Constants.filePath);
if(!file.exists()){
file.mkdir();
}
file = new File(filePath);
if(!file.exists()){
file.mkdir();
}
File fileOut = new File(filename);
if(!fileOut.exists()){
// new File(filePath).mkdir();
fileOut.createNewFile();
}
out = new FileOutputStream(fileOut);
byte[] buf = new byte[1024];
do{
int numread = is.read(buf);
if (numread == -1)
{
break;
}
out.write(buf, 0, numread);


} while (true);
}else{
return false;
}
is.close();
out.close();
return true;
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}


感谢您的阅读,如果文章中有错误或者您有什么好的建议,也欢迎您直接留言批评指教。Thanks,friends!