四种方式实现复制视频,并记录每种复制方式的耗时
java
复制代码
import java.io.*;
//四种方式实现复制视频,并记录每种复制方式的耗时
/*
1、基本字节流一次读写一个字节 共耗时:10809毫秒
2、基本字节流一次读写一个字节数组 共耗时:14毫秒
3、字节缓冲流一次读写一个字节 共耗时:14毫秒
4、字节缓冲流一次读写一个字节数组 共耗时:6毫秒
*/
public class FileDemo_11 {
public static void main(String[] args) throws IOException {
//记录时间
long startTime = System.currentTimeMillis();
//method1();
//method2();
//method3();
method4();
long endTime = System.currentTimeMillis();
System.out.println("共耗时:"+(endTime-startTime)+"毫秒");
}
public static void method1() throws IOException{
FileInputStream fis = new FileInputStream("C:\\Users\\gzh\\Videos\\Captures\\图书管理系统.mp4");
FileOutputStream fos = new FileOutputStream("图书管理系统.mp4");
int by;
while((by=fis.read())!=-1)
fos.write(by);
fis.close();
fos.close();
}
public static void method2() throws IOException{
FileInputStream fis = new FileInputStream("C:\\Users\\gzh\\Videos\\Captures\\图书管理系统.mp4");
FileOutputStream fos = new FileOutputStream("图书管理系统.mp4");
byte[] bys = new byte[1024];
int len;
while((len=fis.read(bys))!=-1){
fos.write(bys,0,len);
}
fis.close();
fos.close();
}
public static void method3() throws IOException{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\Users\\gzh\\Videos\\Captures\\图书管理系统.mp4"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("图书管理系统.mp4"));
int by;
while((by=bis.read())!=-1){
bos.write(by);
}
bis.close();
bos.close();
}
public static void method4() throws IOException{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\Users\\gzh\\Videos\\Captures\\图书管理系统.mp4"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("图书管理系统.mp4"));
byte[] bys = new byte[1024];
int len;
while((len=bis.read(bys))!=-1){
bos.write(bys,0,len);
}
bis.close();
bos.close();
}
}