java下载远程http地址的图片文件到本地-自动处理图片是否经过服务器gzip压缩的问题

简介:

java下载远程http地址的图片文件到本地-自动处理图片是否经过服务器gzip压缩的问题

直接上代码:

      /**
  * 下载文件到本地
  *
  * @param urlString
  *            被下载的文件地址
  * @param filename
  *            本地文件名
  * @throws Exception
  *             各种异常
  */
 public static void download(String urlString, String filename)
   throws Exception {
  // 构造URL
  URL url = new URL(urlString);
  // 打开连接
  URLConnection con = url.openConnection();
  // 输入流
  InputStream is = con.getInputStream();

  String code=con.getHeaderField("Content-Encoding");
  System.out.println("cdoe:"+code);
  
  
  if ((null!=code)&& code.equals("gzip"))
  {
   GZIPInputStream gis = new GZIPInputStream(is);
   
   // 1K的数据缓冲
   byte[] bs = new byte[1024];
   // 读取到的数据长度
   int len;
   // 输出的文件流
   OutputStream os = new FileOutputStream(filename);
   // 开始读取
   while ((len = gis.read(bs)) != -1) {
    os.write(bs, 0, len);
   }
   // 完毕,关闭所有链接
   gis.close();
   os.close();
   is.close();
   
  }
  else
  {
   
   // 1K的数据缓冲
   byte[] bs = new byte[1024];
   // 读取到的数据长度
   int len;
   // 输出的文件流
   OutputStream os = new FileOutputStream(filename);
   // 开始读取
   while ((len = is.read(bs)) != -1) {
    os.write(bs, 0, len);
   }
   // 完毕,关闭所有链接
   os.close();
   is.close();
  }

 }

 

 

 

目录
相关文章
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
521 4
|
4月前
|
网络安全 开发工具 git
在GitLab CI中同步HTTPS仓库地址的yaml配置
最后,提交并推送 `.gitlab-ci.yml`文件到您的GitLab仓库。GitLab CI/CD将自动识别这个文件,并在每次推送到 `master`分支时执行定义的同步任务。
225 16
|
8月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
401 14
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
325 2
|
10月前
|
前端开发 JavaScript Java
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
658 22
|
10月前
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
516 20
|
10月前
|
域名解析 网络协议 安全
DNS服务器地址大全
DNS(域名系统)是互联网的“电话簿”,将域名解析为IP地址。选择优质DNS服务器可提升网络速度、降低延迟。以下是全球及中国各运营商的DNS服务器列表,包括公共DNS(如Google DNS、Cloudflare DNS)、中国电信、联通、移动等。根据地理位置、稳定性、安全性与隐私保护等因素选择适合的DNS服务器,优化上网体验。
32002 6
|
Java 数据安全/隐私保护
Java ffmpeg 实现视频加文字/图片水印功能
【10月更文挑战第22天】在 Java 中使用 FFmpeg 实现视频加文字或图片水印功能,需先安装 FFmpeg 并添加依赖(如 JavaCV)。通过构建 FFmpeg 命令行参数,使用 `drawtext` 滤镜添加文字水印,或使用 `overlay` 滤镜添加图片水印。示例代码展示了如何使用 JavaCV 实现文字水印。
1419 1
|
4月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
362 10
|
4月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。