经济学 管理学 法学 理学 工学 计算机 医学 文学 教育 艺术 哲学 马列理论 政治 社会 英语论文
写作指导 实习报告 述职报告 调查报告 求职信 求职简历 工作总结 入党申请书 思想汇报 入党转正申请书
普通高校 民办高校 独立学院 211工程高校 教育部直属高校 成人高校 民办成人高校 985工程高校 军校 各地招生办
 首页 >> 533学习网 >> 资源 >> 论文大全 >> 计算机 >> 正文 加载中...
Java 的 HTTP 文件队列下载
http://edu.533.com 资源频道

        

许多用户可能会遇到这样的情况:在网站上发现一个很好的资源,但是这个资源是分成了很多个文件存放的,如果想把它保存到本地,只有靠用户点击另存来完成保存,如果资源分了几百甚至上千上万,那简直是个灾难。

在Internet上很多的资源分成多个文件存放时,它的文件命名是有一定的规则的;正因如此,我们就可以用程序来完成这个资源的完全下载。


1. 基础知识


在Internet上,我们要下载网站上的某个资源,我们会获得一个URL(Uniform Resource Locator),它是一个服务器资源定位的描述,下载的过程总是如下步骤:

步骤1:客户端发起连接请求一个URL
步骤2:服务器解析URL,并将指定的资源返回一个输入流给客户
步骤3:客户端接收输入流,将流中的内容存到文件
2. 网络连接的建立


Java提供了对URL访问和大量的流操作的的API,我们可以很容易的完成对网络上资源的存取,下面的代码段就完成了对一个网站的资源进行访问:

    ......    destUrl="http://www.ebook.com/java/网络编程001.zip";    url = new URL(destUrl);    httpUrl = (HttpURLConnection) url.openConnection();    //连接指定的网络资源    httpUrl.connect();    //获取网络输入流    bis = new BufferedInputStream(httpUrl.getInputStream());    ......
 


3. 代理的访问


Java 中通过代理服务器访问外网的方法已经是世人皆知的秘密了。这里就不再多描述了,访问的JAVA代码如下:

    //设置代理服务器    System.getProperties().put("proxySet", "true");    System.getProperties().put("proxyHost", "10.154.134.110");    System.getProperties().put("proxyPort", "8080");
 


4. 网络资源的保存


在上节中,我们已经获取了指定网络资源的输入流,接下来我们要完成的就是读取输入流中的所以内容,并将其保存在文件中。示例代码:

......fos = new FileOutputStream(fileName);if (this.DEBUG)   System.out.println("正在获取链接[" + destUrl + "]的内容...
将其保存为文件[" + fileName +"]");//保存文件while ( (size = bis.read(buf)) != -1)  fos.write(buf, 0, size);......
 


上面的示例代码就将网络资源的内容保存到了本地指定的文件中。

5. 代码清单


下载源代码 HttpGet.java

import java.io.*;import java.net.*;import java.util.*;/** * <p>Title: 个人开发的API</p> * <p>Description: 将指定的HTTP网络资源在本地以文件形式存放</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: NewSky</p> * @author MagicLiao * @version 1.0 */public class HttpGet {  public final static boolean DEBUG = true;//调试用  private static int BUFFER_SIZE = 8096;//缓冲区大小  private Vector vDownLoad = new Vector();//URL列表  private Vector vFileList = new Vector();//下载后的保存文件名列表  /**   * 构造方法   */  public HttpGet() {  }  /**   * 清除下载列表   */  public void resetList() {    vDownLoad.clear();    vFileList.clear();  }  /**   * 增加下载列表项&n

9 7 3 1 2 3 4 8 :

加载中...
上一篇:
下一篇:
顶我一下
 
  • 最近更新
  • 最受欢迎资源榜
  •   加载中... 加载中...
     加载中...
    值得收藏!
    加载中...
    资源搜索:
     全国各省市普通高校名单
    北京 天津 河北 山西

    内蒙

    辽宁 吉林 黑龙江
    上海 江苏 浙江 安徽 福建 江西 山东 河南
    湖北 湖南 广东 广西 海南 重庆 四川 贵州
    云南 西藏 陕西 甘肃 青海 宁夏 新疆 港澳台
     全国民办普通高校名单
    北京 天津 河北 山西

    内蒙

    辽宁 吉林 黑龙江
    上海 江苏 浙江 安徽 福建 江西 山东 河南
    湖北 湖南 广东 广西 海南 重庆 四川 贵州
    云南 西藏 陕西 甘肃 青海 宁夏 新疆  
     更多导航
    有意见请联系:edu533##126.com(将##换为@)
      更多资源推荐
    论文
     
    实用文档
     
    五三三学习网
     
    好资源一起共享
      图片说话
    加载中...
      精彩推荐
    加载中...
    加载中...
    加载中...