zoukankan      html  css  js  c++  java
  • 用Wget进行下载

    wget下载可以不用考虑资源的双向认证的问题,即

    wget -N -S -O " + filePath + " " + urlStr + " --no-check-certificate

    所以java自带的下载方式可能不是所有的资源都能下载,而wget可以,并且wget支持断点续传,默认是20次重复的下载机会。并且下载异常稳定。

    public long download(String urlStr, String filePath){
    String wget = "wget -N -S -O " + filePath + " " + urlStr + " --no-check-certificate";
    log.info("----------执行语句---------" + wget);
    System.out.println(wget);
    Runtime r = Runtime.getRuntime();
    log.info("-------------------------------urlStr------cbj------1" + urlStr);
    Process p = null;
    long fileLength = -1;
    boolean flag = false;
    try {
    p = r.exec(wget);
    final InputStream is1 = p.getInputStream();
    final InputStream is2 = p.getErrorStream();
    BufferedReader br2 = new BufferedReader(new InputStreamReader(is2));
    String line2 = null;
    while ((line2 = br2.readLine()) != null) {
    System.out.println("错误流" + line2);
    if(line2.indexOf("200 OK") != -1){
    flag = true;
    }
    if(line2.indexOf("Content-Length") != -1 && flag){
    fileLength = NumberUtils.toLong(line2.split(":")[1].trim());
    break;
    }
    }
    Task task = new Task(is2);
    executor.submit(task);
    return fileLength;
    }catch(Exception e){
    e.printStackTrace();
    }
    return fileLength;
    }

  • 相关阅读:
    设计模式之三:Abstract Factory(转)
    设计模式之二:adapter模式(转)
    设计模式之一:设计原则(转)
    双链表操作
    单链表操作
    C#-Activex插件操作指南
    积分源码上线
    換友情鏈接
    企业短信群发
    掉了,全掉了。
  • 原文地址:https://www.cnblogs.com/caobojia/p/5943520.html
Copyright © 2011-2022 走看看