您的位置:首页 > 理论基础 > 计算机网络

从网络Url中下载文件到本地

2016-01-17 20:56 603 查看
/** 

     * 从网络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/");  

        }catch (Exception e) {  

            // TODO: handle exception  

        }  

    }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java