多线程同步下在网络图片文件

此过程要导入commons-io-2.6数据包用于接收图片
package 线程;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
//练习Theard,实现多线程同步下载
public class TestThread2 implements Runnable{
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 testThread1=new TestThread2("https://pic.cnblogs.com/avatar/2665954/20211202224408.png","1.jpg");
TestThread2 testThread2=new TestThread2("https://ucc.alicdn.com/pic/developer-ecology/95e2e220445d4496a7002804b858587e.png","2.jpg");
TestThread2 testThread3=new TestThread2("https://files.cnblogs.com/files/sheng-jie/MVP_Logo.bmp","3.jpg");
//使用Thread代理调用线程
new Thread(testThread1).start();
new Thread(testThread2).start();
new Thread(testThread3).start();
//谁先下载完成,就是先执行
}
}
//下载器
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方法出现问题");
}
}
}
posted @   开源遗迹  阅读(29)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示