zoukankan      html  css  js  c++  java
  • 13 IO流(十)——BufferedReader/BufferedWriter 装饰流

    Buffered字符包装流

    与Buffered字节装饰流一样,只不过是对字符流进行包装。

    需要注意的地方

    Buffered字符流在Reader与Writer上有两个新的方法:String readLine()与 void newLine()

    所以Buffered字符流不能够使用多态,也就是:Writer w = new BufferedWriter();

    这样虽然不报错,但使用不了新的这两个方法。

    构造方法

    需要特别提到的一个构造其:BufferedWriter(Writer w,int sz) 它表示创建一个缓冲区大小为sz的缓冲字符输出流。

    缓冲字符输入流同理。

    案例实现

    使用Buffered字符装饰流包装一个File字符流,copy文本文件。

    import java.io.*;
    /**
    *BufferedReader与BufferedWriter
    *包装File字符流
    *实现纯文本文件的拷贝
    */
    public class IOTest02
    {
    	public static void main(String[] args){
    		//文件
    		String srcPath = "a.txt";//文件源
    		String destPath = "a_cp.txt";//目的地
    		copy(srcPath,destPath);
    	}
    
    	public static void copy(String srcPath,String destPath){
    		//选择流
    		//操作
    		try(BufferedReader br = new BufferedReader(new FileReader(srcPath));
    			BufferedWriter bw = new BufferedWriter(new FileWriter(destPath))){//语法糖关闭流
    			String line = null;
    			while((line = br.readLine())!=null){//从文件中读一行(找到换行符)
    				bw.write(line);//写一行
    				bw.newLine();//写一个换行符
    			}
    			bw.flush();//刷新
    		}catch(IOException e){
    			e.printStackTrace();
    		}
    	}
    
    }
    

      

  • 相关阅读:
    微信和支付宝支付模式详解及实现(.Net标准库)- OSS开源系列
    Linux+Nginx+Asp.net Core及守护进程部署
    Docker基础入门及示例
    this的指向问题
    H5C3-JS 此后面试暂不记录了 因为我发现了错题集,直接看就行了
    H5C3-JS day04
    H5C3-JS day03
    two-sum
    H5C3-JS day02
    三次握手四次挥手
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/11924122.html
Copyright © 2011-2022 走看看