
package practice_java211; 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; import java.util.Scanner; public class Copy { public static void main(String[] args) { System.out.println("Please input the source file:"); Scanner sc=new Scanner(System.in); String str1=sc.nextLine(); File f1=new File(str1);//如果已经有了文件str1,不会重建 System.out.println("Please input the aim file:"); Scanner sc1=new Scanner(System.in); String str2=sc1.nextLine(); File f2=new File(str2); String fstr; fstr=""; try{ //读文件 BufferedInputStream f1_in=new BufferedInputStream(new FileInputStream(f1)) ; byte[] f1byte=new byte[100]; String f1str; int len; while((len=f1_in.read(f1byte))>0){ f1str=new String(f1byte,0,len);//读取的byte数组数据构建字符串 fstr=fstr+f1str; } f1_in.close(); //写文件 BufferedOutputStream f2_out=new BufferedOutputStream(new FileOutputStream(f2)); f2_out.write(fstr.getBytes(),0,fstr.getBytes().length); f2_out.flush(); f2_out.close(); } catch(FileNotFoundException fnfe){ fnfe.printStackTrace(); } catch(IOException ioe){ ioe.printStackTrace(); } catch(Exception e){ e.printStackTrace(); } } }

package practice_java211; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; public class Copy { public static void main(String[] args) { System.out.println("Please input the source file:"); Scanner sc=new Scanner(System.in); String str1=sc.nextLine(); File f1=new File(str1); System.out.println("Please input the aim file:"); Scanner sc1=new Scanner(System.in); String str2=sc1.nextLine(); File f2=new File(str2); String fstr; fstr=""; try{ //读文件 FileInputStream f1_in=new FileInputStream(f1); byte[] f1byte=new byte[100]; String f1str; int len; while((len=f1_in.read(f1byte))>0){ f1str=new String(f1byte,0,len);//读取的byte数组数据构建字符串 fstr=fstr+f1str; } f1_in.close(); //写文件 FileOutputStream f2_out=new FileOutputStream(f2); f2_out.write(fstr.getBytes()); f2_out.close(); } catch(FileNotFoundException fnfe){ fnfe.printStackTrace(); } catch(IOException ioe){ ioe.printStackTrace(); } catch(Exception e){ e.printStackTrace(); } } }
下面利用在输入输出流中添加缓冲区实现文件的复制