快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
me2,          long contentLength, long[] startPos) {      File file = new File(fileDir + fileName);      long localFileSize = file.length();      if (file.exists()) {          System.out.println("file " + fileName + " has  exists!");          // 下载的目标文件已存在,判断目标文件是否完整          if (localFileSize < contentLength) {              System.out.println("Now download continue   ");              // 遍历目标文件的所有临时文件,设置断点的 位置,即每个临时文件的长度              File tempFileDir = new File (fileDir);              File[] files = tempFileDir.listFiles ();              for (int k = 0; k < files.length;  k++) {                  String tempFileName = files [k].getName();                  // 临时文件的命名方式为:目标文件 名+"_"+编号                  if (tempFileName != null  && files[k].length() > 0                          && tempFileName.startsWith(fileName + "_")) {                      int fileLongNum =  Integer.parseInt(tempFileName                              .substring (tempFileName.lastIndexOf("_") + 1,                                       tempFileName.lastIndexOf("_") + 2));                      // 为每个线程设置已下载的 位置                      startPos[fileLongNum] =  files[k].length();                  }              }          }      } else {          // 如果下载的目标文件不存在,则创建新文件          try {              file.createNewFile();          } catch (IOException e) {              e.printStackTrace();          }      }      return startPos; } 

5、测试

public class DownloadStartup {      private static final String encoding = "utf- 8";      public static void main(String[] args) {          DownloadTask downloadManager = new  DownloadTask();          String urlStr =  "http://apache.freelamp.com/velocity/tools/1.4/velocity-tools- 1.4.zip";          downloadManager.setSleepSeconds(5);          downloadManager.download(urlStr, encoding);      } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号