在Java应用程序AppForFileCopyUerBuffer.Java中,使用使用缓冲流BufferedInputStream和BufferedOutputStream(或BufferedReader和BufferedWriter)增强流对象实现文件的复制,编写程序完成将本实训材料中的test.mp4文件进行复制,并统计复制需要的时间,并比较实训2与实训3的效率。通过程序将source文件夹下的test.mp4文件复制到target文件夹为test3.mp4文件。
时间: 2024-01-21 13:18:31 浏览: 95
以下是实现上述功能的Java程序代码:
```java
import java.io.*;
public class AppForFileCopyUerBuffer {
public static void main(String[] args) {
long startTime = System.currentTimeMillis(); // 记录开始时间
try {
File sourceFile = new File("source/test.mp4");
File targetFile = new File("target/test3.mp4");
FileInputStream fis = new FileInputStream(sourceFile);
BufferedInputStream bis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(targetFile);
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bis.close();
bos.close();
long endTime = System.currentTimeMillis(); // 记录结束时间
System.out.println("复制文件所需时间为:" + (endTime - startTime) + "ms");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该程序通过缓冲流BufferedInputStream和BufferedOutputStream实现文件的复制,并使用System.currentTimeMillis()方法记录开始和结束时间,计算出复制所需的时间。实现了将source文件夹下的test.mp4文件复制到target文件夹为test3.mp4文件的功能。
与实训2相比,实训3使用了缓冲流,可以提高读写文件的效率。因此,在文件较大时,实训3的效率会更高。
阅读全文