文档章节

从网络URL下载文件

varchard
 varchard
发布于 2017/05/17 18:55
字数 224
阅读 38
收藏 0
/** 
     * 从网络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  
        }  
    }  

 

© 著作权归作者所有

varchard
粉丝 6
博文 58
码字总数 19458
作品 0
程序员
私信 提问
为什么我在本论坛下载的JAVA软件代码编译后不能打开?

为什么我在本论坛下载的JAVA软件代码编译后在手机上运行打不开,本人是新手,求高手指点?高手帮我看看还缺少什么? 下载的代码是个文件下载器的。代码如下: 001 import java.awt.BorderLa...

忍者00000000
2011/03/21
553
4
每日一个Linux 命令 wget命令

Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以...

Oscarfff
2016/02/08
36
0
iOS 网络编程

一、网络编程的基本概念 在网络编程中,有几个必须掌握的基本概念: 客户端(Client):移动应⽤(iOS,Andorid等应⽤) 服务器(Server):为客户端提供服务、提供数据、提供资源的机器 请求(Request)...

从訫开始_倾深爱
2016/09/06
88
0
iOS中的URLSession

URLSession NSURLSession是iOS7中新的网络接口,与NSURLConnection是并列的. 当程序在前台时,NSURLSession和NSURLConnection大部分可以互相替代.NSURLSession支持后台网络操作,除非用户强行关...

傲风凌寒
2014/05/28
15.2K
0
Android WebView文件下载的常用方式

在开发中WebView不会主动去下载文件,但webView提供了下载文件的的接口 webView.setOnDownloadListener(new OnDownloadListener(){ }); 第一种:实现Java代码下载 其中有一个回调方法返回要...

IamOkay
2014/12/28
153
0

没有更多内容

加载失败,请刷新页面

加载更多

Electron React Node

NPM配置手册https://cloud.tencent.com/developer/section/1490263 URL编码参考手册:https://www.w3cschool.cn/htmltags/html-urlencode.html 在配置React环境时,提示 npm ERR! code ECON......

DB_Terrill
13分钟前
3
0
Knative 实战:基于阿里云 Kafka 实现消息推送

在 Knative 中已经提供了对 Kafka 事件源的支持,那么如何在阿里云上基于 Kafka 实现消息推送,本文给大家解锁这一新的姿势。 背景 消息队列 for Apache Kafka 是阿里云提供的分布式、高吞吐...

阿里云官方博客
14分钟前
3
0
自动评论csdn博客文章实现

正文 我们来用java代码爬取csdn博客网站,然后自动评论,这一波操作可以说是相当风骚了,话不多说,咱上代码。 第一步是登录代码,这个网上一大把,代码中用到了jsoup依赖包,用于解析html获...

码农实战
15分钟前
4
0
java速查手册Java Syntax Cheatsheet for Algorithms by TCXX

Numbers static MAX_VALUE xxxValue() public int compareTo(XXX) public boolean equals(Object o) static Integer valueOf(int i) static Integer valueOf(String s) static Integer value......

momo1987
24分钟前
3
0
vue Property or method "***" is not defined on the instance but referenced during render.报错

报错:title不是个方法 解决: 把:去掉不报错了

栾小糖
28分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部