Java中使用字节流缓冲区流(BufferedInputStream、BufferedOutputStream)复制文件,并输出复制所消耗的时间。
时间: 2023-10-25 16:07:44 浏览: 91
下面是使用字节流缓冲区流复制文件并输出所消耗时间的Java代码:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
long start = System.currentTimeMillis();
File sourceFile = new File("source.txt");
File targetFile = new File("target.txt");
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);
}
long end = System.currentTimeMillis();
System.out.println("复制文件所消耗的时间:" + (end - start) + "毫秒");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码使用了try-with-resources语句,确保文件流在使用后被自动关闭。在代码中,我们使用了BufferedInputStream和BufferedOutputStream来进行文件的读写操作,这样可以提高效率。同时,我们使用了一个byte数组作为缓冲区,每次读取1024字节的数据块进行复制。最后,我们输出了复制所消耗的时间。
阅读全文