问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用Java实现HTTP断点续传功能(2)

发布网友 发布时间:2023-07-05 15:49

我来回答

1个回答

热心网友 时间:2024-07-24 01:43

  //启动子线程

  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();

  }

lishixin/Article/program/Java/hx/201311/27070
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
"多难兴邦"这个词,让我们懂得了什么? uc怎么进入阅读模式 进入阅读模式方法介绍 uc怎么进入小说阅读模式 uc浏览器设置阅读模式-uc浏览器设置阅读模式方法 uc电脑阅读模式怎么设置电脑上UC浏览器的阅读模式怎么打开 微信怎么判断对方把你拉黑并且删除了,还是只是拉黑了? 公司诉讼由哪个法院管辖?公司诉讼管辖确定的理论依据? 笔记本电脑开机无法进入系统笔记本电脑开机后无法进入系统 从深圳到乌镇玩三天,花销最少是多少?越少越好,如果有个计划就更好乐 马上快过年放假了,第一次去见岳父,送茅台好还是五粮液好? 大舅去二舅家找三舅说四舅正确答案,谁是小偷,钱是谁的 大舅去二舅家找三舅说四舅被五舅骗去六舅家偷七舅 按到**21*1##打不出去电话,怎么取消? 怎么设置呼叫转移,如何取消? 你大舅对你二舅说你三舅看见你四舅拿你五舅借你六舅的那一百块钱了... "大舅去二舅家 郭红的人物简介 郭红的个人简介 布局氢能产业推动新能源发展 全国首座油氢合建站在广东佛山建成_百度... 广东省有哪些新能源产业 鬼怪围巾尺寸 天猫电商仓库日结工累嘛 电商仓库累还是快递累 今天也在做满分才女 古穿今 小说 百度云。 帝奥微是做什么的 契税和增值税的区别是什么 购买二手房税务局开的增值税普通发票能代表已经交了契税吗 保护环境的插画-那么保护环境的诗歌插画怎么画? 买房子开了增值税发票相当于交了契税了吗 星学院的拼音怎么拼 闪婚的弊端有哪些呢? 如何使用.NET实现断点续传功能 闪婚有什么危害? 晨起尿毒症的四种表现,希望你一个也没有 小说里的故事会成真吗,感觉有些人跟小说里的一样帅 少儿芭蕾舞收费贵不贵? 谁能告诉我一些尿毒症的症状,想了解一下,谢谢。 网游小说可能成真么 芭蕾舞和拉丁舞哪个贵 手淫对种植牙有影响吗,现在一期过了一个月 在濮阳市环境监测公司上班怎么样 现任七武海有谁 北京暖气片厂家有哪些? 乐高出过哪些99元的机械组 穿越火线枪战王者天龙怎么抽 区委办公室有前途吗 新入职公务员,从某区直不强势部门借调到区委办公室,要不要去?_百度知... 办公室的工作有前途吗? 省考公务员区委办公室和检察院两个职位哪个好 县委办公室公务员有前途吗