笔者所选需要复制的文本文件较小,建议实际测试使用视频MP4文件
package ioTest;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 字节流四种方式复制文件
* 1、基本字节流一次读取一个字节
* 2、基本字节流一次读取一个字节数组
* 3、高效字节流通一次读取一个字节
* 4、高效字节流一次读取一个字节数组
*/
public class demo3 {
public static void main(String[] args) throws IOException {
long start = System.currentTimeMillis();
//method1("demo.txt","in.txt");
// method2("demo.txt","in.txt");
// method3("demo.txt","in.txt");
method4("demo.txt","in.txt");
//依次调用四种方法即可即可
long end = System.currentTimeMillis();
System.out.println("共耗时:"+(end-start) + "毫秒");
}
public static void method1(String srcString , String destString)
throws IOException{
FileInputStream fis = new FileInputStream(srcString);
FileOutputStream fos = new FileOutputStream(destString);
int by = 0;
while((by = fis.read()) != -1) {
fos.write(by);
}
fis.close();
fos.close();
}
public static void method2(String srcString , String destString)
throws IOException{
FileInputStream fis = new FileInputStream(srcString);
FileOutputStream fos = new FileOutputStream(destString);
byte bys[] = new byte[1024];
int len = 0;
len = len +0;
while((len = fis.read()) != -1) {
fos.write(bys,0,len);
}
fis.close();
fos.close();
}
public static void method3(String srcString , String destString)
throws IOException{
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(srcString));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(destString));
int by = 0;
while((by = bis.read()) != -1) {
bos.write(by);
}
bis.close();
bos.close();
}
public static void method4(String srcString , String destString)
throws IOException{
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(srcString));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(destString));
byte bys[] = new byte[1024];
int len = 0;
len = len + 0;
while(( len = bis.read()) != -1) {
bos.write(bys,0,len);
}
bis.close();
bos.close();
}
}