天天看點

java中使用緩沖流加快字元檔案的複制

import java.io.*;

class Test{
    public static void main(String[] args){
        BufferedReader br=null;
        BufferedWriter bw =null;
        try{
            br=new BufferedReader(new FileReader(new File("file.txt")));
            bw=new BufferedWriter(new FileWriter(new File("file1.txt")));
            //方式一:使用char[]數組
            char[] cbuf=new char[1024];
            int len;
            while((len=br.read(cbuf))!=-1){
                bw.write(cbuf,0,len);
                bw.flush();
            }
            //方式二:使用String
            String data;
            //每次讀一行
            while((data=br.readLine())!=null){
                bw.write(data);
                /*由于讀取的時候是讀到回車符為止,而回車符不會一起寫入,
                是以回車符不會讀如,要手動加換行符
                 */
                bw.newLine();
                bw.flush();
            }
            //方式一和方式二任取一種
        }catch(IOException e){
            e.printStackTrace();
        }finally{
            if(bw!=null){
                try{
                    bw.close();
                }catch(IOException e){
                    e.printStackTrace();
                }
            }
            if(br!=null){
                try{
                    br.close();
                }catch(IOException e){
                    e.printStackTrace();
                }
            }
        }
    }
}