不使用缓冲流
package com.test.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestCopyFile {
public static void main(String[] args) {
File file=new File("/Users/yangjunbo/kaifa/Test/1.png");
File toFile=new File("/Users/yangjunbo/kaifa/Test/2.png");
long begin=System.currentTimeMillis();
try {
FileInputStream fileInputStream=new FileInputStream(file);
FileOutputStream fileOutputStream=new FileOutputStream(toFile);
int a;
while((a=fileInputStream.read())!=-1)
{
fileOutputStream.write(a);
}
fileInputStream.close();
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
long end=System.currentTimeMillis();
System.out.println("复制总用时:"+(end-begin)+"毫秒");
}
}
使用缓冲流
package com.test.file;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestCopyFile2 {
public static void main(String[] args) {
File file=new File("/Users/yangjunbo/kaifa/Test/1.png");
File toFile=new File("/Users/yangjunbo/kaifa/Test/2.png");
long begin=System.currentTimeMillis();
FileInputStream fileInputStream;
try {
fileInputStream = new FileInputStream(file);
BufferedInputStream bufferedInputStream=new BufferedInputStream(fileInputStream);
FileOutputStream fileOutputStream=new FileOutputStream(toFile);
BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(fileOutputStream);
int a;
while((a=bufferedInputStream.read())!=-1)
{
bufferedOutputStream.write(a);
}
bufferedInputStream.close();
bufferedOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
long end=System.currentTimeMillis();
System.out.println("复制文件总用时:"+(end-begin)+"毫秒");
}
}
字符缓冲流
package com.wowowo.io3;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TestCopyFile3 {
public static void main(String[] args) {
File file=new File("d:/aa/person.java");
File toFile=new File("d:/aa/person2.java");
long begin=System.currentTimeMillis();
try {
FileReader fileReader =new FileReader(file);
BufferedReader bufferedReader=new BufferedReader(fileReader);
FileWriter fileWriter=new FileWriter(toFile);
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
String str;
while((str=bufferedReader.readLine())!=null)
bufferedWriter.write(str);
bufferedReader.close();
bufferedWriter.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
long end=System.currentTimeMillis();
System.out.println("使用缓冲字符流复制文件总用时:"+(end-begin)+"毫秒");
}
}