public class CopyDemo {
public static void main(String[] args) throws Exception{
long time1 = System.currentTimeMillis();
copy4(new File("d:\\ccc.mp4"),new File("e:\\ccc.mp4"));
long time2 = System.currentTimeMillis();
System.out.println(time2-time1);
}
//1.字节流读写单个字节 太慢了
public static void copy1(File src,File desc) throws Exception{
FileInputStream fis = new FileInputStream(src);
FileOutputStream fos = new FileOutputStream(desc);
int len = 0;
while ((len=fis.read())!=-1){
fos.write(len);
}
fos.close();
fis.close();
}
//2.字节流读写字节数组 550
public static void copy2(File src,File desc) throws Exception{
FileInputStream fis = new FileInputStream(src);
FileOutputStream fos = new FileOutputStream(desc);
int len = 0;
byte[] b = new byte[1024*10];
while ((len=fis.read(b))!=-1){
fos.write(b,0,len);
}
fos.close();
fis.close();
}
//3.字节流缓冲区 读写单个字节 4252
public static void copy3(File src,File desc) throws Exception{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(desc));
int len = 0;
while ((len=bis.read())!=-1){
bos.write(len);
}
bis.close();
bos.close();
}
//4.字节流缓冲区读写字节数组 585
public static void copy4(File src,File desc) throws Exception{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(desc));
int len = 0;
byte[] b = new byte[1024*10];
while ((len=bis.read(b))!=-1){
bos.write(b,0,len);
}
bos.close();
bis.close();
}