1.编写一个程序,使用字节缓冲流实现图片文件的拷贝,具体要求如下: (1)文件路径为源文件D:\童心向党.PNG,目标文件E:\童心向党.PNG。 (2)创建字节缓冲输入流和字节缓冲输出流对象,用于文件的读取和写入。 (3)定义一个1024长度的字节数组作为缓冲区完成文件拷贝。 (4)计算拷贝文件总耗时。
时间: 2024-03-23 16:40:26 浏览: 53
好的,以下是你需要的Java代码实现:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
String srcFilePath = "D:\\童心向党.PNG";
String destFilePath = "E:\\童心向党.PNG";
long start = System.currentTimeMillis();
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFilePath));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFilePath))) {
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println("拷贝完成,总耗时:" + (end - start) + "ms");
}
}
```
解释一下代码的实现过程:
首先定义了源文件路径和目标文件路径,然后使用 `BufferedInputStream` 和 `BufferedOutputStream` 包装文件的输入输出流,用于文件的读取和写入。
接下来定义一个长度为1024的字节数组作为缓冲区,用于完成文件拷贝。通过 `while` 循环读取源文件中的数据,当读取到的字节数组长度为-1时表示文件读取结束,结束循环。
在循环内部,使用输出流将读取到的字节数组写入到目标文件中。最后关闭输入流和输出流。
最后计算文件拷贝总耗时,并输出结果。
注意:以上代码中使用了 try-with-resources 语句,可以自动关闭资源。同时,由于文件拷贝过程中可能会出现 IO 异常,需要在 catch 块中对异常进行处理。
阅读全文