Java复制文件高效率版,使用BufferedInputStream和BufferedOutputStream,比之前的使用FileInputStream和FileOutputStream写的效率高出很多。
/**
* 使用BufferedInputStream和BufferedOutputStream写的复制文件的源代码
* @param src 原文件目录
* @param dest 目标文件目录
*/
public static void copyFile(String src, String dest){
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
File file1 = new File(src);
File file2 = new File(dest);
FileInputStream fis = new FileInputStream(file1);
FileOutputStream fos = new FileOutputStream(file2);
bis = new BufferedInputStream(fis);
bos = new BufferedOutputStream(fos);
byte[] b = new byte[1024];
int len;
while((len = bis.read(b)) != -1){
bos.write(b, 0, len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(bis != null){
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(bos != null){
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}