通过缓冲区进行文件复制的操作

/*
 通过缓冲区复制文件。
 */

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class CopyTextByBuf {
	public static void main(String[] args) {
		BufferedReader bfr=null;
		BufferedWriter bfw=null;
		try{
			bfr=new BufferedReader(new FileReader("F:\\JAVAWorkplace\\IO流\\src\\CopyText.java"));
			bfw=new BufferedWriter(new FileWriter("buf_copy.txt"));
			
			String line=null;
			/*
			 readLine()方法原理:
			 无论是读一行,或者是读取多个字符,其实最终都是在硬盘上一个一个读取。
			 所以最终使用的还是read()方法一次读一个的方法。
			 比read()方法高效很多。
			 */
			while((line=bfr.readLine())!=null)
			{
				bfw.write(line);
				bfw.flush();
				bfw.newLine();
			}
		}
		catch(IOException e){
			throw new RuntimeException("读写异常");
		}
		finally{
			if(bfr!=null)
				try {
					bfr.close();
				} catch (IOException e) {
					// TODO 自动生成的 catch 块
					e.printStackTrace();
				}
			if(bfw!=null)
				try {
					bfw.close();
				} catch (IOException e) {
					// TODO 自动生成的 catch 块
					e.printStackTrace();
				}
		}
	}
}


刚开始运行的结果让我感到很是不爽:

通过缓冲区进行文件复制的操作_第1张图片

后来发现,加上 newLine()  语句后才会换行,看着就舒服:

通过缓冲区进行文件复制的操作_第2张图片

你可能感兴趣的:(JAVA,JAVA学习历程)