2、写程序利用字节缓冲流实现文件的复制,要求如下:(20分) (1)在根目录下创建一个文件“src.txt”,并在其中写入“不以成败论英雄”,用FileInputStream来读取文件中的数据。 (2)创建一个FileOutputStream对象,使用FileOutputStream(在根目录下)创建一个目标文件“des.txt”。 (3)使用BufferedInputStream和BufferedOutputStream将文件“src.txt”的内容复制到文件“des.txt”中。 (4)打印输出复制文件所消耗的时间。
时间: 2024-02-23 15:02:28 浏览: 43
以下是符合要求的Java代码实现:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
// 读取源文件
FileInputStream fis = null;
try {
fis = new FileInputStream("src.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedInputStream bis = new BufferedInputStream(fis);
// 写入目标文件
FileOutputStream fos = null;
try {
fos = new FileOutputStream("des.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedOutputStream bos = new BufferedOutputStream(fos);
// 开始复制文件
long startTime = System.currentTimeMillis();
byte[] buffer = new byte[1024];
int len;
try {
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.flush();
} catch (IOException e) {
e.printStackTrace();
}
// 关闭流
try {
bos.close();
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
// 输出复制文件所消耗的时间
long endTime = System.currentTimeMillis();
System.out.println("复制文件所消耗的时间为:" + (endTime - startTime) + "毫秒");
}
}
```
在执行完以上代码后,会在根目录下创建一个名为“des.txt”的文件,并将“src.txt”文件中的内容复制到“des.txt”中。同时,程序会输出复制文件所消耗的时间。
阅读全文