网络下载文件

/**
     * 从网络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/cxw-cm/p/10772997.html

时间: 2024-11-13 14:37:48

网络下载文件的相关文章

sharepoint 2007 “文件为网络下载文件,请存储到硬盘之后再修改文件。”

当直接打开sharepoint 2007 上的excel文档后,使用使用ctrl+s保存的时候,就弹出对话框"文件为网络下载文件,请存储到硬盘之后再修改文件." 检查发现是sharepoint上安装了第三方加密工具trustview导致的. 解决办法:1.点击保存按钮保存 2.使用"迁出"后,打开文档 3.在excel中关闭trustview插件: excel options--add-ins--mamage下面选择com add-ins--然后点Go--取消选择:

多线程从网络下载文件

主类: 1 public class DownThreadDemo { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 int threadNum = 3; 6 long fileLen = 0; 7 long numPerThread = 0; 8 long left = 0; 9 URL url = null; 10 URLConnection connection = n

iOS如何阅览和选择应用打开网络下载的pdf、word、jpg、MP4等文件

通过创建UIDocumentInteractionController来实现这一功能,如下栗子: #pragma mark - 展示文件 - (void)showDownloadFile:(NSString *)fileName{ // 从沙盒中获取(以下路径是我从网络下载文件存放的路径) NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) fir

android命令模式IntentService 远程下载文件

服务可用在一下情景: 1,用户离开activity后,仍需要继续工作,例如从网络下载文件,播放音乐. 2,无论activity出现或离开,都需要持续工作,例如网络聊天应用. 3,连接网络服务,正在使用一个远程API提供的服务. 4,定时触发的任务 1.因为IntentService是Service子类,所以也需要在manifest中声明服务 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns

Android从网络某个地址下载文件、写入SD卡

首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //urlStr为文件的网络地址,如http://192.168.1.105:8080/mp3/resources.xml StringBuffer sb = new StringBuffer(); String line = null; BufferedReader buffer = null; try {

[iOS 多线程 &amp; 网络 - 2.10] - ASI框架下载文件

A.ASI框架中的下载 1.实现步骤 在实际的开发中如果要使用asi框架来下载服务器上的文件,只需要执行下面简单的几个步骤即可. (1)创建请求对象:(2)设置下载文件保存的路径:(3)发送下载文件的网络请求(异步).按照上面的几个步骤执行,程序会自动开启异步线程,一点一点的把数据写入到指定的文件路径,而且不论是下载多大的文件都不会占用大量的内存空间. ASI框架是基于底层的cfnoteworking的,性能很好.当然也可以设置block,或者是监听下载的进度. 自动会使用“边下边写” 使用进度

JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(二)

一  前言 本文是上一篇博客JWebFileTrans:一款可以从网络上下载文件的小程序(一)的续集.此篇博客主要在上一篇的基础上加入了断点续传的功能,用户在下载中途停止下载后,下次可以读取断点文件,接着上次已经下载的部分文件继续下载.另外将程序名从JWebFileTrans更改为JDownload,并从github的utility repository中独立出来专门维护,后续会添加多线程.ftp下载等功能.JDownload的github链接请点击JDownload源代码 . 另外时隔三个月后

网络传输速度bps与下载文件所需时间的换算

相信很多同志都非常关注自己家的计算机上网的宽带是多少.关心单位上网的宽带是多少! 但是很多同志都经常误解网络传输速度,以至于责备网络接入商(电信.网通.铁通等单位)欺骗用户,限制上网的速度! 本文,就给您详细介绍一下带宽中提到的bps与下载文件所需时间的换算! 先看下图! 这是我个人上网的宽带,注意拉,速度是"100.0Mbps": 到这里,俺想试问一个问题,以这样的速度,假设处于理想状态,那么,我下载100MB的文件,需要多少时间呢? 如果您回答,需要1秒钟,那么,您就错了,并且是完

网络编程总结(解析数据,下载文件,确认网络环境)

文章来自:http://www.cocoachina.com/bbs/read.php?tid-31300.html 一:确认网络环境3G/WIFI 1. 添加源文件和framework        开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审(我们的)查的.    Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法.要在应用程序程序中使用Reachability,首先要完成如下两部: