多线程小案例—网络图片下载
第一步–下载commons-io.jar包
- commons-io是针对开发IO流功能的工具类库
- 百度搜索commons-io即可前往官网下载(或直接点击该链接前往官网下载)
第二步–将jar包导入到idea里使用
-
找到下载的jar包,直接复制到项目中即可,需要先创建一个lib的文件夹存放jar包
-
接着还需要右键点击lib文件夹,选择Add as Libray即可
-
接着就可以正常使用jar包里的工具类了
第三步–敲代码
-
先创建一个文件下载工具类
-
//下载工具类 class WebDownloader{ //下载方法 public void downloader(String url,String name){ try { FileUtils.copyURLToFile(new URL(url),new File(name)); } catch (IOException e) { e.printStackTrace(); System.out.println("IO异常,downloader方法出现问题"); } } }
-
然后写测试类
-
public class TestThread2 extends Thread{ private String url;//网络图片地址 private String name;//保存的文件名 //写一个有参构造 public TestThread2(String url,String name){ this.name = name; this.url = url; } //下载图片线程的执行体 @Override public void run(){ WebDownloader webDownloader = new WebDownloader(); webDownloader.downloader(url,name); System.out.println("下载了文件名为"+name); } public static void main(String[] args) { //这里填你想要下载的图片链接地址,和你希望下载在什么地方的路径 TestThread2 t1 = new TestThread2("url1","name1"); TestThread2 t2 = new TestThread2("url2","name2"); TestThread2 t3 = new TestThread2("url3","name3"); t1.start(); t2.start(); t3.start(); } }
-
写完这些以后,就可以正常下载图片啦
-
注意:
-
有时候可能有的图片网站会有图片的防盗链,可能会出现以下异常
-
我去百度了一下,找到了解决方法
-
在图片链接前面加上
https://images.weserv.nl/?url=
即可
-
-
快去各种壁纸网站试一试!!!!!!!!!!!!!!!!