Utils--封装好的下载图片的方法
/**
* 封装下载图片方法
* @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;
}
}
Utils--封装好的下载图片的方法的更多相关文章
- PHP curl下载图片的方法
		PHP curl下载图片的方法 <pre> <?php $images = [ 'http://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKPkia3rx ... 
- 使用SDWebImage下载图片,sharedDownloader方法下载成功,new 方法下载失败
		一,经历 1.使用 new 方法创建下载对象时,下载图片总是失败,而且不会执行成功或失败后的回调. 2.参考别人的代码,用的是sharedDownloader来创建下载对象,可以顺利下载图片. 3.看 ... 
- requests库下载图片的方法
		方法: 传入图片url,requests.get()方法请求一下,将源码以二进制的形式写在本地即可. 以前一直以为requests库中有特定的方法获取图片,类似urllib.request.urlre ... 
- python 下载图片的方法
		a='http://wx1.sinaimg.cn/mw600/006HOayNgy1fqjdi2nxohj32pw3o8x6s.jpg' #图片下载地址 ( 这里改成 文件txt地址)w='/U ... 
- Python3下载图片的方法
		1 第一种 from urllib import request request.urlretrieve(s, './图片1.jpg') # 第一种 # s是图片的网络地址,./图片1.jpg,是图片 ... 
- Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)
		1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问和带宽是巨大的挑战,对于高并发和大访问访问量的站点来说,需要使用AJAX相关的技术 ... 
- [Xcode 实际操作]八、网络与多线程-(22)使用GCD多线程技术异步下载图片
		目录:[Swift]Xcode实际操作 本文将演示如何使用使用GCD多线程技术异步下载图片. Grand Central Dispatch(GCD) 是 Apple 开发的一个多核编程的较新的解决方法 ... 
- 前端下载图片的N种方法
		前几天一个简单的下载图片的需求折腾了我后端大佬好几天,最终还是需要前端来搞,开始说不行的笔者最后又行了,所以趁着这个机会来总结一下下载图片到底有多少种方法. 先起个服务 使用expressjs起个简单 ... 
- Android采用HttpClient下载图片
		在上一章中谈到Android采用HttpURLConnection下载图片,本章使用HttpClient下载图片 HttpURLConnection与HttpClient的差别: HttpClient ... 
随机推荐
- Threejs 开发3D地图实践总结【转】
			Threejs 开发3D地图实践总结 前段时间连续上了一个月班,加班加点完成了一个3D攻坚项目.也算是由传统web转型到webgl图形学开发中,坑不少,做了一下总结分享. 1.法向量问题 法线是垂 ... 
- Asp.net web Control Enable 属性设置
			最近手上有一个很简单的一个小项目,需要查看编辑的历史记录,先前设计的时候把数据都save 到DB了,现在时间紧迫 就不在画新的UI,而是采用以前的edit页面 来显示数据,这里就需要把页面上所有的co ... 
- 服务器主机上RAID Controller的Read Ahead Policy
			RAID控制器(卡)会根据Read Ahead Policy 来决定是否只读取应用程序所请求的一块数据, 还是从硬盘上读取整个stripe. 这个policy会对读的性能产生影响. No Read A ... 
- iOS开发-ViewController的生命周期和切换
			ViewController在App开发中是至关重要的一环,无论是页面的展示和数据之间的交互,ViewController提供了一个框架可以管理和构建App应用.iOS中构建App提供了两种方式一种是 ... 
- java去除字符串的html标签
			//方法一 public String stripHtml(String content) { // <p>段落替换为换行 content = content.replaceAll(&qu ... 
- laravel 5.5  跨域问题解决方案
			一.laravel-Cors 安装 在终端执行安装命令如下: composer require barryvdh/laravel-cors 添加服务提供商 在Laravel配置文件app.php的pr ... 
- ubuntu16.04下部署tomcat9和java8启动一次需要七八分钟
			一.环境如下 Ubuntu16.04 +tomcat9+openjdk1.8 二.问题 在tomcat的bin下执行./startup.sh 如下图没有问题 root@bogon:/usr/apac ... 
- windows下修改memcached服务的端口号
			虽然memcached装载linux下的人比较多,但是还是有人要装载windows上,比如像我们公司. 虽然memcached默认的端口号挺好的,可是还是有人想该改变其端口号的,比如像我. 如果不是作 ... 
- JavaScript 上下文环境和作用域,以及 call、apply 和 bind【转载+翻译+整理】
			--看到这篇文章,翻译国外的,虽说写得有点矫情,但总体来看,还是相当不错的- 本文内容 我在哪儿?你又是谁 ? this? 用 apply 和 call 掌控上下文环境 bind 之美 本文将说明上下 ... 
- Camtasia Studio CamStudio如何导出为手机视频
			把视频拖放到左侧窗口,再按住拖放到下方的时间轴 点击生成并共享,然后设置为自定义生成设置 这里选择MP4,然后下一步 到这一步的时候,选择视频大小为自定义 会弹出窗口,手动输入宽360 ... 
