美文网首页
day19-03-IO流(通过缓冲区复制文本文件)/04-IO流

day19-03-IO流(通过缓冲区复制文本文件)/04-IO流

作者: 姗婷 | 来源:发表于2020-07-06 21:28 被阅读0次

通过缓冲区复制一个.java文件
readLine方法返回的时候只返回回车符之前的数据内容,并不返回回车符。

import java.io.*;
class CopyTextByBuf 
{
    public static void main(String[] args) 
    {
        BufferedReader bufr = null;
        BufferedWriter bufw = null;

        try
        {
            bufr = new BufferedReader(new FileReader("MapDemo2.java"));
            bufw = new BufferedWriter(new FileWriter("CopyMapDemo2.java"));
            String line = null;
            while((line=bufr.readLine())!=null)
            {
                bufw.write(line);
                bufw.newLine();
                bufw.flush();
            }
            
        }
        catch (IOException e)
        {
            throw new RuntimeException("读写失败");
        }
        finally 
        {
            try
            {
                if(bufr!=null)
                {
                    bufr.close();
                }
            }
            catch (IOException e)
            {
                throw new RuntimeException("读取关闭失败");
            }
            try
            {
                if(bufw!=null)
                {
                    bufw.close();
                }
            }
            catch (IOException e)
            {
                throw new RuntimeException("写入关闭失败");
            }           
        }           
    }       
}

readLine方法的原理,无论是读一行,读取多个字符。其实最终都是在硬盘上一个个读取。所以最终使用的还是read方法一次读一个的方法。

只要有\n的就是一行数据,把回车符前数据临时存储起来,到回车符就把数据一次全返回来。


image.png

相关文章

网友评论

      本文标题:day19-03-IO流(通过缓冲区复制文本文件)/04-IO流

      本文链接:https://www.haomeiwen.com/subject/ndywqktx.html