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;
}

最新文章

  1. 最长递增子序列 O(NlogN)算法
  2. Xamarin.Android 入门之:Android的生命周期
  3. 函数xdes_set_bit
  4. ADO数据库链接
  5. 梳理下Cordova的热更新
  6. 【C语言】多项式加法(mooc第七周测试题)
  7. django 之 stark组件
  8. [物理学与PDEs]第1章第6节 电磁场的标势与矢势 6.3 例 --- 电偶极辐射
  9. Beep函数实现硬件蜂鸣声
  10. nodejs:导出Excel和解析导入的Excel
  11. canvas - 钟表
  12. JAVA实现用户的权限管理
  13. tomcat停止和启动脚本
  14. topcoder srm 455 div1
  15. c# 得到list符合某条件的索引值,排序
  16. root目录空间不够的问题
  17. word用宏命令完美解决列表编号变黑块的问题
  18. 数组内Merge
  19. mysql 基本操作 alter
  20. SharePoint管理中心配置内容数据库

热门文章

  1. JQuery焦点Table
  2. 谷歌制图服务(Google Chart)接口生成二维码
  3. WPF学习笔记-自定义窗口
  4. 一定要记住这20种PS技术!!!会让你的照片美的不行!!!
  5. orcad中的PSpice仿真加入厂商模型
  6. cf C Milking cows
  7. GPIO模拟串口注意是事项
  8. Record Locks
  9. Oracle 搜集统计信息的存储过程
  10. 【HDOJ】2609 How many