编写程序,使用分别使用基本字节流和缓冲字节流将一个word文档(沁园春·雪.docx)从当前Java工程的source目录复制到target目录,并在控制台打印出复制文件所需的时间。
时间: 2024-12-06 09:25:23 浏览: 6
在Java中,我们可以使用`java.io`包下的`FileInputStream`(基本字节流)和`BufferedInputStream`(缓冲字节流)以及`FileOutputStream`和`BufferedOutputStream`来进行文件复制操作。这里是一个简单的示例,展示如何完成这个任务:
```java
import java.io.*;
public class FileCopyExample {
public static void main(String[] args) throws IOException {
// 定义源文件和目标文件路径
String sourcePath = "src/" + "沁园春·雪.docx";
String targetPath = "target/" + "沁园春·雪.docx";
long startTime = System.currentTimeMillis(); // 记录开始时间
try (FileInputStream in = new FileInputStream(sourcePath);
BufferedInputStream buffIn = new BufferedInputStream(in);
FileOutputStream out = new FileOutputStream(targetPath);
BufferedOutputStream buffOut = new BufferedOutputStream(out)) {
byte[] buffer = new byte[4096]; // 设置缓冲区大小
int bytesRead;
while ((bytesRead = buffIn.read(buffer)) != -1) {
buffOut.write(buffer, 0, bytesRead); // 写入缓冲区的数据
}
} catch (IOException e) {
System.err.println("Error copying file: " + e.getMessage());
}
long endTime = System.currentTimeMillis(); // 获取结束时间
long elapsedTime = endTime - startTime; // 计算复制时间
System.out.printf("File copied from %s to %s in %d milliseconds.\n", sourcePath, targetPath, elapsedTime);
阅读全文