快速业务通道

用java多线程断点续传实践 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
         this.endPosition = endPos;          this.latch = latch;          try {              tempFile = new File(this.task.fileDir +  this.task.fileName + "_" + id);              if(!tempFile.exists()){                  tempFile.createNewFile();              }          } catch (IOException e) {              e.printStackTrace();          }      }      public void run() {          System.out.println("Thread " + id + " run  ");          HttpURLConnection con = null;          InputStream inputStream = null;          BufferedOutputStream outputStream = null;          int count = 0;          long threadDownloadLength = endPosition -  startPosition;          try {              outputStream = new BufferedOutputStream (new FileOutputStream(tempFile.getPath(), true));          } catch (FileNotFoundException e2) {              e2.printStackTrace();          } ③       for(;;){ ④           startPosition += count;              try {                  //打开URLConnection                  con = (HttpURLConnection)  task.url.openConnection();                  setHeader(con);                  con.setAllowUserInteraction (true);                  //设置连接超时时间为10000ms ⑤               con.setConnectTimeout(10000);                  //设置读取数据超时时间为10000ms                  con.setReadTimeout(10000);                  if(startPosition <  endPosition){                      //设置下载数据的起止区间                      con.setRequestProperty ("Range", "bytes=" + startPosition + "-"                              +  endPosition);                      System.out.println("Thread  " + id + " startPosition is " + startPosition);                      System.out.println("Thread  " + id + " endPosition is " + endPosition);                      //判断http status是否为 HTTP/1.1 206 Partial Content或者200 OK                      //如果不是以上两种状态,把 status改为STATUS_HTTPSTATUS_ERROR ⑥                   if (con.getResponseCode()  != HttpURLConnection.HTTP_OK                              && con.getResponseCode() != HttpURLConnection.HTTP_PARTIAL)  {                          System.out.println ("Thread " + id + ": code = "      

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号