爱嘉牛LA

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
View Code
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();
         }
         
        
    }

}

 

View Code
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();
         }
         
        
    }

}

 下面利用在输入输出流中添加缓冲区实现文件的复制

 

posted on 2012-07-22 21:09  爱嘉牛LA  阅读(2724)  评论(0编辑  收藏  举报