知识大全 用Java实现HTTP断点续传功能(2)

Posted 文件

篇首语:世事洞明皆学问,人情练达即文章。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Java实现HTTP断点续传功能(2)相关的知识,希望对你有一定的参考价值。

用Java实现HTTP断点续传功能(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  //启动子线程

  fileSplitterFetch = new FileSplitterFetch[nStartPos length];

  for(int i= ;i<nStartPos length;i++)

  

  fileSplitterFetch[i] = new FileSplitterFetch(siteInfoBean getSSiteURL()

  siteInfoBean getSFilePath() + File separator + siteInfoBean getSFileName()

  nStartPos[i] nEndPos[i] i);

  Utility log( Thread + i + nStartPos = + nStartPos[i] + nEndPos = + nEndPos[i]);

  fileSplitterFetch[i] start();

  

  // fileSplitterFetch[nPos length ] = new FileSplitterFetch(siteInfoBean getSSiteURL()

  siteInfoBean getSFilePath() + File separator + siteInfoBean getSFileName() nPos[nPos length ] nFileLength nPos length );

  // Utility log( Thread + (nPos length ) + nStartPos = + nPos[nPos length ] +

  nEndPos = + nFileLength);

  // fileSplitterFetch[nPos length ] start();

  //等待子线程结束

  //int count = ;

  //是否结束while循环

  boolean breakWhile = false;

  while(!bStop)

  

  write_nPos();

  Utility sleep( );

  breakWhile = true;

  for(int i= ;i<nStartPos length;i++)

  

  if(!fileSplitterFetch[i] bDownOver)

  

  breakWhile = false;

  break;

  

  

  if(breakWhile)

  break;

  //count++;

  //if(count> )

  // siteStop();

  

  System err println( 文件下载结束! );

  

  catch(Exception e)e printStackTrace ();

  

  //获得文件长度

  public long getFileSize()

  

  int nFileLength = ;

  try

  URL url = new URL(siteInfoBean getSSiteURL());

  HttpURLConnection Connection = (HttpURLConnection)url openConnection ();

  ( User Agent NetFox );

  int responseCode=();

  if(responseCode>= )

  

  processErrorCode(responseCode);

  return ; // represent access is error

  

  String sHeader;

  for(int i= ;;i++)

  

  //DataInputStream in = new DataInputStream( ());

  //Utility log(in readLine());

  sHeader=(i);

  if(sHeader!=null)

  

  if(sHeader equals( Content Length ))

  

  nFileLength = Integer parseInt((sHeader));

  break;

  

  

  else

  break;

  

  

  catch(IOException e)e printStackTrace ();

  catch(Exception e)e printStackTrace ();

  Utility log(nFileLength);

  return nFileLength;

  

  //保存下载信息(文件指针位置)

  private void write_nPos()

  

  try

  output = new DataOutputStream(new FileOutputStream(tmpFile));

  output writeInt(nStartPos length);

  for(int i= ;i<nStartPos length;i++)

  

  // output writeLong(nPos[i]);

  output writeLong(fileSplitterFetch[i] nStartPos);

  output writeLong(fileSplitterFetch[i] nEndPos);

  

  output close();

  

  catch(IOException e)e printStackTrace ();

  catch(Exception e)e printStackTrace ();

  

  //读取保存的下载信息(文件指针位置)

  private void read_nPos()

  

  try

  DataInputStream input = new DataInputStream(new FileInputStream(tmpFile));

  int nCount = input readInt();

  nStartPos = new long[nCount];

  nEndPos = new long[nCount];

  for(int i= ;i<nStartPos length;i++)

  

  nStartPos[i] = input readLong();

  nEndPos[i] = input readLong();

  

  input close();

  

  catch(IOException e)e printStackTrace ();

  catch(Exception e)e printStackTrace ();

  

  private void processErrorCode(int nErrorCode)

  

  System err println( Error Code : + nErrorCode);

  

  //停止文件下载

  public void siteStop()

  

  bStop = true;

  for(int i= ;i<nStartPos length;i++)

  fileSplitterFetch[i] splitterStop();

  

cha138/Article/program/Java/hx/201311/27070

相关参考

知识大全 用java多线程断点续传实践

  /**  *authorannegu  *date  */  annegu做了一个简单的Http多线程的下载程序来讨论一下多线程并发下载以及断点续传的问题  这个程序的功能就是可以分多个线程从目标

知识大全 用Java实现断点续传(HTTP)

用Java实现断点续传(HTTP)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  断点续传的原理

知识大全 如何使用.NET实现断点续传功能

如何使用.NET实现断点续传功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  顾名思义断点续传

知识大全 java中http断点续传的原理(1)

  (一)断点续传的原理  其实断点续传的原理很简单就是在Http的请求上和一般的下载有所不同而已  打个比方浏览器请求服务器上的一个文时所发出的请求如下  假设服务器域名为文件名为downzip  

知识大全 使用Visual C#实现断点续传

使用VisualC#实现断点续传  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 http断点续传简单实现

  /*  **SiteFileFetchjava  */  packageNetFox;  importjavaio*;  import*;      publicclassSiteFileFetc

知识大全 PHP 下载远程文件类(支持断点续传)

PHP下载远程文件类(支持断点续传)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP下载远

知识大全 实现HTTP断点续传下载工具(附源代码)

Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(附源代码)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,

知识大全 vs2010根据字符串内容添加断点的方法介绍

  在vs中我们可以直接用表达式数值型比较直接用操作符即可  如i==i<;  但是字符型比较呢?  加入我们有一个名为string的变量定义如下:  char*string=Two;  设置断

知识大全 QQ传文件的时候突然电脑关机,那么重启后还能续传么

QQ传文件的时候突然电脑关机,那么重启后还能续传么?紧急求救!  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来