iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Java多线程下载网图的示例分析
  • 527
分享到

Java多线程下载网图的示例分析

2023-06-14 09:06:47 527人浏览 泡泡鱼
摘要

小编给大家分享一下Java多线程下载网图的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!此案例依赖——文件操作工具类(FileUtils)使用 apache 的commons-io包下的FileUtilsimpor

小编给大家分享一下Java多线程下载网图的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

此案例依赖——文件操作工具类(FileUtils)

使用 apache 的commons-io包下的FileUtilsimportorg.apache.commons.io.FileUtils;

下载commons-io包

点击即可下载,然后导入IDEA的库中或者项目中。

Java多线程下载网图的示例分析

导包

Java多线程下载网图的示例分析

首先创建一个下载器

步骤:

新建一个download类

在类中建立一个下载方法

下载方法需要接收2个变量,一个是url下载地址,一个是name文件名称

在下载方法中调用文件操作工具类(FileUtils)

try/catch捕获异常并提示异常

方法说明
copyURLToFile(URL source, File destination)将字节从URL复制source到文件中 destination。
//下载器class download{//下载方法 public void down(String url,String name){  try {   FileUtils.copyURLToFile(new URL(url),new File(name));  } catch (IOException e) {   e.printStackTrace();   System.out.println("IO异常,download方法出现问题");  } }}

然后创建一个线程

步骤:

创建线程类-多线程下载器,继承Thread

定义2个私有变量(url下载地址,name文件名称)

创建有参数构造器(用于初始化2个私有变量的值)

重写Thread父类的run方法

run方法的方法体内写入要执行的任务,我们的任务就是要下载网图,因为要用到下载器里面的下载方法,所以直接实例化download类,然后调用download类中的down方法,由于down方法需要接受2个String类型的变量(url和name),直接将2个私有变量传入进去,最后给个提示,打印出下载的文件名称。

public class 多线程下载器 extends Thread{  private String url;  private String name;  public 多线程下载器(String url, String name) {    this.url = url;    this.name = name;  }  @Override  public void run() {    download download = new download();    download.down(url,name);    System.out.println("下载了名为"+name);  }}

在main方法中创建线程并启动

步骤:

创建一个main方法

创建3个线程

创建线程的时候要传入参数,目的是调用有参构造器初始化私有变量

这里传入3个图片的地址以及文件的名称

注意文件名称,下载的文件类型要对应好相应的后缀名

多线程下载器 t1=new 多线程下载器("https://www.baidu.com/favicon.ico","百度.ico");
多线程下载器 t2=new 多线程下载器("Https://www.apple.com/favicon.ico","苹果.ico");
多线程下载器 t3=new 多线程下载器("https://www.jd.com/favicon.ico","京东.ico");

用start开启3个线程

start方法会开启新的线程,并且在新的线程中调用线程类中的run方法

public static void main(String[] args) {    多线程下载器 t1=new 多线程下载器("https://www.baidu.com/favicon.ico","百度.ico");    多线程下载器 t2=new 多线程下载器("https://www.apple.com/favicon.ico","苹果.ico");    多线程下载器 t3=new 多线程下载器("https://www.jd.com/favicon.ico","京东.ico");    t1.start();    t2.start();    t3.start();  }

全部代码:

package 多线程;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URL;public class 多线程下载器 extends Thread{  private String url;  private String name;  public 多线程下载器(String url, String name) {    this.url = url;    this.name = name;  }  @Override  public void run() {    download download = new download();    download.down(url,name);    System.out.println("下载了名为"+name);  }  public static void main(String[] args) {    多线程下载器 t1=new 多线程下载器("https://www.baidu.com/favicon.ico","百度.ico");    多线程下载器 t2=new 多线程下载器("https://www.apple.com/favicon.ico","苹果.ico");    多线程下载器 t3=new 多线程下载器("https://www.jd.com/favicon.ico","京东.ico");    t1.start();    t2.start();    t3.start();  }}//下载器class download{  public void down(String url,String name){    try {      FileUtils.copyURLToFile(new URL(url),new File(name));    } catch (IOException e) {      e.printStackTrace();      System.out.println("IO异常,download方法出现问题");    }  }}

运行结果:

Java多线程下载网图的示例分析

下载的文件默认位置在项目下如图:

Java多线程下载网图的示例分析

双击图片文件可进行查看

Java多线程下载网图的示例分析

看完了这篇文章,相信你对“Java多线程下载网图的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Java多线程下载网图的示例分析

本文链接: https://www.lsjlt.com/news/269364.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java多线程下载网图的示例分析
    小编给大家分享一下Java多线程下载网图的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!此案例依赖——文件操作工具类(FileUtils)使用 apache 的commons-io包下的FileUtilsimpor...
    99+
    2023-06-14
  • Java多线程下载网图的完整案例
    Java多线程下载网图案例 此案例依赖——文件操作工具类(FileUtils) 使用 apache 的commons-io包下的FileUtilsimportorg.apache.c...
    99+
    2024-04-02
  • Java多线程的示例分析
    这篇文章给大家分享的是有关Java多线程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。线程的创建继承Thread实现Runnable实现Callable使用继承Thread类来开发多线程的应用程序在设计...
    99+
    2023-06-20
  • java中多线程的示例分析
    这篇文章主要介绍了java中多线程的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。java多线程并发与并行:并行: 指两个或多个事件在同一时刻发生 ( 同时发生 ) ...
    99+
    2023-06-20
  • java多线程编程的示例分析
    这篇文章将为大家详细讲解有关java多线程编程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.相关知识:Java多线程程序设计到的知识:(一)对同一个数量进行操作(二)对同一个对象进行操作(三...
    99+
    2023-05-30
    java
  • Java多线程程序的示例分析
    今天就跟大家聊聊有关Java多线程程序的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们在使用Java多线程程序的时候会遇到不少的问题,当我们解决这个问题的时候在源代码中就...
    99+
    2023-06-17
  • Java程序中多线程的示例分析
    这篇文章主要介绍了Java程序中多线程的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  为什么会排队等待?  下面的这个简单的 Java 程序完成四项不相关的任务。...
    99+
    2023-06-03
  • Java多线程之死锁的示例分析
    小编给大家分享一下Java多线程之死锁的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是死锁死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全...
    99+
    2023-05-30
    java
  • Java多线程之Interrupt中断线程的示例分析
    小编给大家分享一下Java多线程之Interrupt中断线程的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、测试代码https://gitee.com/zture/spring-test/blob/master...
    99+
    2023-06-15
  • Python多线程的示例分析
    这篇文章将为大家详细讲解有关Python多线程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。线程相对进程来说是“轻量级”的,操作系统用较少的资源创建和管理线程。程序中的线程在相同的内存空间中执行...
    99+
    2023-06-17
  • Java中多线程与并发的示例分析
    这篇文章主要介绍Java中多线程与并发的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、进程与线程进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。线程:是进程的一个执行路径,一个...
    99+
    2023-06-15
  • Java多线程中线程安全问题的示例分析
    这篇文章主要介绍了Java多线程中线程安全问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 什么是线程安全和线程不安全?什么是线程安全呢?当多个线程并发访问某...
    99+
    2023-06-29
  • Java多线程同步问题的示例分析
    这篇文章主要介绍Java多线程同步问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!简单了解下在操作系统中进程和线程的区别:  进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开...
    99+
    2023-05-30
    java
  • Java多线程窗口售票的示例分析
    这篇文章主要为大家展示了“Java多线程窗口售票的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java多线程窗口售票的示例分析”这篇文章吧。具体代码如下:第一种:package&nbs...
    99+
    2023-05-30
    java
  • Java线程池的示例分析
    小编给大家分享一下Java线程池的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么需要线程池我们知道创建线程的常用方式就是 new Thread() ...
    99+
    2023-06-22
  • Java中线程的示例分析
    这篇文章主要介绍了Java中线程的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是进程?电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互...
    99+
    2023-06-25
  • java线程编程的示例分析
    这篇文章给大家分享的是有关java线程编程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。线程基础◆线程(thread)其实是控制线程(thread of control)的缩写.每一个线程都是独立的,因...
    99+
    2023-06-03
  • Java中单例模式与多线程的示例分析
    这篇文章主要介绍了Java中单例模式与多线程的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。单例模式与多线程单例模式就是全局唯一但是所有程序都可以使用的对象写单例模式...
    99+
    2023-06-20
  • SOCKET之多线程的示例分析
    这篇文章主要介绍了SOCKET之多线程的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。多线程的原理图:可以理解成成10086的多个客...
    99+
    2024-04-02
  • iOS中多线程的示例分析
    这篇文章给大家分享的是有关iOS中多线程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、iOS的三种多线程技术NSThread–优点:NSThread 比其他两个轻量级,使用简单–缺点:需要自己管理线...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作