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();
  }

 }

 

 

 

目录
相关文章
|
12月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
736 6
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
687 14
|
前端开发 JavaScript Java
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
1046 22
|
存储 安全 算法
Java 集合面试题 PDF 下载及高频考点解析
本文围绕Java集合面试题展开,详细解析了集合框架的基本概念、常见集合类的特点与应用场景。内容涵盖`ArrayList`与`LinkedList`的区别、`HashSet`与`TreeSet`的对比、`HashMap`与`ConcurrentHashMap`的线程安全性分析等。通过技术方案与应用实例,帮助读者深入理解集合类的特性和使用场景,提升解决实际开发问题的能力。文末附带资源链接,供进一步学习参考。
400 4
|
存储 人工智能 Java
java之通过Http下载文件
本文介绍了使用Java实现通过文件链接下载文件到本地的方法,主要涉及URL、HttpURLConnection及输入输出流的操作。
878 0
|
Linux 网络安全 Docker
尼恩一键开发环境: vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
尼恩提供了一系列文章,旨在帮助开发者轻松搭建一键开发环境,涵盖Java分布式、高并发场景下的多种技术组件安装与配置。内容包括但不限于Windows和CentOS虚拟机的安装与排坑指南、MySQL、Kafka、Redis、Zookeeper等关键组件在Linux环境下的部署教程,并附带详细的视频指导。此外,还特别介绍了Vagrant这一虚拟环境部署工具,
尼恩一键开发环境: vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
651 34
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
1262 4
|
Java Spring
JAVA获取重定向地址URL的两种方法
【10月更文挑战第17天】本文介绍了两种在Java中获取HTTP响应头中的Location字段的方法:一种是使用HttpURLConnection,另一种是使用Spring的RestTemplate。通过设置连接超时和禁用自动重定向,确保请求按预期执行。此外,还提供了一个自定义的`NoRedirectSimpleClientHttpRequestFactory`类,用于禁用RestTemplate的自动重定向功能。
1211 0
|
12月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
957 10