commons io 是针对开发IO流功能的工具类库。
1.百度搜索commons.io,找到如下网站,然后直接点击进去即可。
2.然后点击DownLoad,点击Binaries下面的第二个安装包进行下载。
3.下载完毕之后,进行解压,解压之后如下所示:
4.将该包复制到项目里面:
5.点击进入IDEA里面,在主项目下创建一个叫lib的包
5.然后将文件复制到这个包里面。
6.复制进去我们不能直接用,需要点击右键,点击Add as Library.
7.把这个东西添加到一个库里面。
8.添加进去之后,可以在lib里面发现我们需要的资源,也可以在File里面点击右键,Project Structure,里面发现Library。
9.最后,我们所编写的代码如下所示:
package com.rgf.DuoXian;
import org.apache.commons.io.FileUtils;//apache下面的FileUtils文件工具类。
import java.io.File;
import java.io.IOException;
import java.net.URL;
//练习Thread,实现多线程同步下载图片
public class TestThread2 extends Thread{
private String url; //网络图片地址
private String name; //保存的文件名
//构造器
public TestThread2(String url, String name){
this.url=url;
this.name=name;
}
//下载图片线程的执行体
@Override
public void run() {
WebDownloader webDownload = new WebDownloader();
webDownload.downloader(url,name);
System.out.println("下载了文件名为:"+name);
}
public static void main(String[] args) {
TestThread2 testThread = new TestThread2("https://hm.baidu.com/hm.js?55b574651fcae74b0a9f1cf9c8d7c93a","1.jpg");
TestThread2 testThread1 = new TestThread2("https://hm.baidu.com/hm.js?55b574651fcae74b0a9f1cf9c8d7c93a","2.jpg");
TestThread2 testThread2 = new TestThread2("https://hm.baidu.com/hm.js?55b574651fcae74b0a9f1cf9c8d7c93a","3.jpg");
testThread.start();
testThread1.start();
testThread2.start();
}
}
//下载器
class WebDownloader {
//下载方法
public void downloader(String url,String name){
try {
FileUtils.copyURLToFile(new URL(url),new File(name));//文件工具类叫FileUtils
//下载网络图片,用的copyURLToFile()方法,把一个网络地址变成一个文件。
} catch (IOException e) {
e.printStackTrace();
System.out.println("IO异常,downloader方法出现问题");
}
}
}
运行界面如下所示:
使用Runnable接口实现的代码如下所示:
package com.rgf.DuoXian;
import org.apache.commons.io.FileUtils;//apache下面的FileUtils文件工具类。
import java.io.File;
import java.io.IOException;
import java.net.URL;
//练习Thread,实现多线程同步下载图片
public class TestThread4 implements Runnable{
private String url; //网络图片地址
private String name; //保存的文件名
//构造器
public TestThread4(String url, String name){
this.url=url;
this.name=name;
}
//下载图片线程的执行体
@Override
public void run() {
WebDownloader webDownload = new WebDownloader();
webDownload.downloader(url,name);
System.out.println("下载了文件名为:"+name);
}
public static void main(String[] args) {
TestThread2 testThread = new TestThread2("https://hm.baidu.com/hm.js?55b574651fcae74b0a9f1cf9c8d7c93a","1.jpg");
TestThread2 testThread1 = new TestThread2("https://hm.baidu.com/hm.js?55b574651fcae74b0a9f1cf9c8d7c93a","2.jpg");
TestThread2 testThread2 = new TestThread2("https://hm.baidu.com/hm.js?55b574651fcae74b0a9f1cf9c8d7c93a","3.jpg");
new Thread(testThread).start();
new Thread(testThread1).start();
new Thread(testThread2).start();
}
}
//下载器
class WebDownload {
//下载方法
public void download(String url,String name){
try {
FileUtils.copyURLToFile(new URL(url),new File(name));//文件工具类叫FileUtils
//下载网络图片,用的copyURLToFile()方法,把一个网络地址变成一个文件。
} catch (IOException e) {
e.printStackTrace();
System.out.println("IO异常,downloader方法出现问题");
}
}
}
运行界面如下所示: