使用缓冲功能的BufferedReader和BufferedWriter复制文本文件,按照行读写

BufferedReader

构造方法摘要
BufferedReader(Reader in)
          创建一个使用默认大小输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz)
          创建一个使用指定大小输入缓冲区的缓冲字符输入流。
 
方法摘要
 voidclose()
          关闭该流并释放与之关联的所有资源。
 voidmark(int readAheadLimit)
          标记流中的当前位置。
 booleanmarkSupported()
          判断此流是否支持 mark() 操作(它一定支持)。
 intread()
          读取单个字符。
 intread(char[] cbuf, int off, int len)
          将字符读入数组的某一部分。
 StringreadLine()
          读取一个文本行。
 booleanready()
          判断此流是否已准备好被读取。
 voidreset()
          将流重置到最新的标记。
 longskip(long n)
          跳过字符。

BufferedWriter


构造方法摘要
BufferedWriter(Writer out)
          创建一个使用默认大小输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz)
          创建一个使用给定大小输出缓冲区的新缓冲字符输出流。
 
方法摘要
 voidclose()
          关闭此流,但要先刷新它。
 voidflush()
          刷新该流的缓冲。
 voidnewLine()
          写入一个行分隔符。
 voidwrite(char[] cbuf, int off, int len)
          写入字符数组的某一部分。
 voidwrite(int c)
          写入单个字符。
 voidwrite(String s, int off, int len)
          写入字符串的某一部分。

实现代码:

public class CopyBufferReaderToBufferWriter {
    public static void main(String[] args) {
        File inputFile=new File("E:1.dat");
        //必须先创建目录
        File originalOutputFile=new File("E:2");
        if(!originalOutputFile.exists()){
            originalOutputFile.mkdirs();
        }
        //再创建文件
        File outputFile=new File(originalOutputFile,"2.dat");
        try {
            BufferedReader bufferedReader=new BufferedReader(new FileReader(inputFile));
            BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(outputFile));
            String line=null;
	//不再是!=-1,而是!=null了,很重要
            while ((line=bufferedReader.readLine())!=null){
                bufferedWriter.write(line);
                bufferedWriter.newLine();
                bufferedWriter.flush();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}









  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值