博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 从网络Url中下载文件
阅读量:5326 次
发布时间:2019-06-14

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

  /**     * 从网络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://www.cnblogs.com/liaojie970/p/5664224.html

你可能感兴趣的文章
2.4 使用ARDUINO控制MC20进行GPS数据的获取和解析
查看>>
3.7 基于51单片机+MC20的路径显示【使用STC15W内核】
查看>>
oracle正则表达式匹配regexp_like
查看>>
Hibernate与 MyBatis的比较
查看>>
jdk分析工具:jps和jstack
查看>>
2016 DTCC(中国数据库技术大会)
查看>>
使用 GStreamer appsrc 等插件实现视频音频混流,录制和推流
查看>>
Python Thread related
查看>>
UVA 11584 Partitioning by Palindromes (回文DP,4级)
查看>>
两张表的级联修改一例
查看>>
脑裂及其常见处理
查看>>
CSS小提示
查看>>
【转载】猪哥的公房菜-嵌入式Linux新手入门导引
查看>>
windows操作系统记事本保存操作时间、字符映射表的打开、步骤记录器使用
查看>>
ROM和RAM区别
查看>>
易语言斗鱼弹幕助手源码
查看>>
python模块
查看>>
P1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火
查看>>
ssh连接报错
查看>>
VB与C#的区别(转载)
查看>>