多线程下载

时间:2021-11-30
本文章向大家介绍多线程下载,主要包括多线程下载使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

多线程下载网站图片,start启动(多线程交互执行)

 1 package com.student_thread.demo;
 2 import org.apache.commons.io.FileUtils;
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.net.URL;
 6 /*
①写上一个下载器,将下载器的jar包加入library
②将这个测试线程类继承线程
③将构造器中的属性复制到公共属性中
④重写run方法,run方法是线程的执行体
⑤执行顺序就是主函数启动,TestThread2中的url地址和照片名称参数传入构造器
⑥构造器得到参数赋值给公共属性
⑦TestThread2实例化的对象用start启动线程
⑧这个时候运行重写的run()
⑨webDownloader.downloader(url,name);调用下载器且执行FileUtils.copyURLToFile(new URL(url),new File(name));函数
⑩最后输出System.out.println("下载了文件"+name);
   */
7 8 public class TestThread2 extends Thread { 9 String url; 10 String name; 11 public TestThread2(String url,String name){ 12 this.url=url; 13 this.name=name; 14 } 15 16 @Override 17 public void run() { 18 WebDownloader webDownloader=new WebDownloader(); 19 webDownloader.downloader(url,name); 20 System.out.println("下载了文件"+name); 21 22 } 23 24 public static void main(String[] args) { 25 TestThread2 T1=new TestThread2("http://我的服务器/img/img.png","img.png"); 26 TestThread2 T2=new TestThread2("http://我的服务器/img/profile.jpg","profile.png"); 27 T1.start(); 28 T2.start(); 29 } 30 } 31 //下载器 32 class WebDownloader{ 33 public void downloader(String url,String name){ 34 try { 35 FileUtils.copyURLToFile(new URL(url),new File(name)); 36 } catch (IOException e) { 37 e.printStackTrace(); 38 System.out.println("io异常,downloader出现问题"); 39 } 40 } 41 }

原文地址:https://www.cnblogs.com/gzg-blogs/p/15624737.html