环境工具:
ideal
maven
jdk1.8
行了,啥也不要了
pom.xml添加依赖(砍树要斧头,下载要IO):
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.it</groupId>
<artifactId>demo</artifactId>
<version>1.0-SNAPSHOT</version>
<!--下载工具-->
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</project>
1.创建一个类,继承Thread,重写run方法
package com.it;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
/**
* 多线程下载图片
*/
public class DownloadPicture extends Thread {
@Override
public void run() {
}
}
2.成员属性
public class DownloadPicture extends Thread {
private String url;
private String name;
public DownloadPicture(String url, String name){
this.url = url;
this.name = name;
}
}
3.下载工具
第一个参数:要下载的图片地址,第二个参数:下载的图片的名称
package com.it;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
/**
* 多线程下载图片
*/
public class DownloadPicture extends Thread {
private String url;
private String name;
public DownloadPicture(String url, String name){
this.url = url;
this.name = name;
}
class WebDownloader{
//下载工具
public void downloader(String url,String name){
try {
FileUtils.copyURLToFile(new URL(url),new File(name));
} catch (IOException e) {
System.out.println("IO异常");
}
}
}
}
4.run方法调用下载工具
package com.it;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
/**
* 多线程下载图片
*/
public class DownloadPicture extends Thread {
private String url;
private String name;
public DownloadPicture(String url, String name){
this.url = url;
this.name = name;
}
@Override
public void run() {
WebDownloader webDownloader = new WebDownloader();
webDownloader.downloader(url,name);
System.out.println("下载图片,名为:" + name);
}
class WebDownloader{
//下载工具
public void downloader(String url,String name){
try {
FileUtils.copyURLToFile(new URL(url),new File(name));
} catch (IOException e) {
System.out.println("IO异常");
}
}
}
}
5.启动三个线程下载三张图片
package com.it;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
/**
* 多线程下载图片
*/
public class DownloadPicture extends Thread {
private String url;
private String name;
public DownloadPicture(String url, String name){
this.url = url;
this.name = name;
}
@Override
public void run() {
WebDownloader webDownloader = new WebDownloader();
webDownloader.downloader(url,name);
System.out.println("下载图片,名为:" + name);
}
public static void main(String[] args) {
DownloadPicture d1 = new DownloadPicture("http://test-pics.56tj.cn/FmvUmrKZHZBv-4ud15UT863l6-1F","图片1.jpg");
DownloadPicture d2 = new DownloadPicture("http://test-pics.56tj.cn/FqO9C64EvfgiLr_jmtf2uPknrO6C","图片2.jpg");
DownloadPicture d3 = new DownloadPicture("http://test-pics.56tj.cn/FqQAhFRpM6H_mqbfWw1WKpFU0GnG","图片3.jpg");
d1.start();
d2.start();
d3.start();
}
class WebDownloader{
//下载工具
public void downloader(String url,String name){
try {
FileUtils.copyURLToFile(new URL(url),new File(name));
} catch (IOException e) {
System.out.println("IO异常");
}
}
}
}