博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从URL下载文件的方法
阅读量:6505 次
发布时间:2019-06-24

本文共 2550 字,大约阅读时间需要 8 分钟。

hot3.png

import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controller@RequestMapping("/")public class ali {	/**      * 从网络Url中下载文件      * @param urlStr      * @param fileName      * @param savePath      * @throws IOException      */      public static void  downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException{          URL url = new URL(urlStr);            HttpURLConnection conn = (HttpURLConnection)url.openConnection();                    //设置超时间为3秒          conn.setConnectTimeout(3*1000);          //防止屏蔽程序抓取而返回403错误          conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");            //得到输入流          InputStream inputStream = conn.getInputStream();            //获取自己数组          byte[] getData = readInputStream(inputStream);                //文件保存位置          File saveDir = new File(savePath);          if(!saveDir.exists()){              saveDir.mkdir();          }          File file = new File(saveDir+File.separator+fileName);              FileOutputStream fos = new FileOutputStream(file);               fos.write(getData);           if(fos!=null){              fos.close();            }          if(inputStream!=null){              inputStream.close();          }              System.out.println("info:"+url+" download success");         }            /**      * 从输入流中获取字节数组      * @param inputStream      * @return      * @throws IOException      */      public static  byte[] readInputStream(InputStream inputStream) throws IOException {            byte[] buffer = new byte[1024];            int len = 0;            ByteArrayOutputStream bos = new ByteArrayOutputStream();            while((len = inputStream.read(buffer)) != -1) {                bos.write(buffer, 0, len);            }            bos.close();            return bos.toByteArray();        }          public static void main(String[] args) {          try{          	//设置下载链接,下载后重命名,存储位置            downLoadFromUrl("http://101.95.48.97:8005/res/upload/interface/apptutorials/manualstypeico/6f83ce8f-0da5-49b3-bac8-fd5fc67d2725.png",                      "百度.jpg","d:/resource/images/diaodiao/country/");          }catch (Exception e) {              // TODO: handle exception          }      }  }

 

转载于:https://my.oschina.net/MrBamboo/blog/792972

你可能感兴趣的文章
concurrent包的实现示意图
查看>>
golang os.Args
查看>>
Linux常用命令
查看>>
spring-data-elasticsearch 概述及入门(二)
查看>>
1.12 xshell密钥认证
查看>>
3.2 用户组管理
查看>>
ibatis 动态查询
查看>>
汇编语言之实验一
查看>>
git 调用 Beyond Compare
查看>>
SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)[转]
查看>>
android实现图片识别的几种方法
查看>>
mvc学习地址
查看>>
masonry 基本用法
查看>>
Word产品需求文档,已经过时了【转】
查看>>
dtoj#4299. 图(graph)
查看>>
关于网站的一些js和css常见问题的记录
查看>>
zabbix-3.4 触发器
查看>>
换用代理IP的Webbrowser方法
查看>>
【视频编解码·学习笔记】7. 熵编码算法:基础知识 & 哈夫曼编码
查看>>
spark集群安装部署
查看>>