多线程的实现 使用继承Thread类和实现Runnable接口两种方式实现多线程。要求: (1)定义一个名为“CopyFile”的类,该类继承Thread类,并重写Thread类的run()方法,其功能是使用字节缓冲输入输出流复制文件。 (2)使用CopyFile类产生4个线程对象,并启动这4个线程对象,即同时复制4个文件。
时间: 2024-02-06 13:12:50 浏览: 95
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口(csdn)————程.pdf
好的,你的问题是关于多线程的实现,下面是代码实现:
```
import java.io.*;
public class CopyFile extends Thread {
private String sourceFile;
private String targetFile;
public CopyFile(String sourceFile, String targetFile) {
this.sourceFile = sourceFile;
this.targetFile = targetFile;
}
public void run() {
try {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(sourceFile));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(targetFile));
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bis.close();
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
CopyFile copyFile1 = new CopyFile("sourceFile1.txt", "targetFile1.txt");
CopyFile copyFile2 = new CopyFile("sourceFile2.txt", "targetFile2.txt");
CopyFile copyFile3 = new CopyFile("sourceFile3.txt", "targetFile3.txt");
CopyFile copyFile4 = new CopyFile("sourceFile4.txt", "targetFile4.txt");
copyFile1.start();
copyFile2.start();
copyFile3.start();
copyFile4.start();
}
}
```
上述代码定义了一个 `CopyFile` 类,它继承了 `Thread` 类,并且重写了 `run()` 方法。在 `run()` 方法中,使用字节缓冲输入输出流实现文件复制的功能。在 `main()` 方法中,创建了四个 `CopyFile` 对象,并启动这四个对象,即同时复制四个文件。
当然,你也可以使用实现 `Runnable` 接口的方式实现多线程,这里就不展开了。
阅读全文