一、简介:
    
    
     
    
    
     BufferedReader 用于加快读取字符的速度, BufferedWriter 用于加快写入的速度
    
    
     
    
    
     BufferedReader 和 BufferedWriter 类各拥有 8192 个字符的缓冲区。
    
    
     
    
    
     属于字符流,按照字符读取数据的
    
    
     
    
    
     二、使用BufferedReader案列
    
    
     
    
    
     1.使用它读取文本文件,并显示在控制台
    
    
     
    
    
     步骤;
    
    
     
    
    
     1.创建读取的文件
    
    
     
    
    
     2.创建BufferedReader
    
    
     
    
    
     3.读取
    
    
     
    
    
     4.关闭流
    
    
     
    
    
     
      
       package com.xbfinal.day02;
import java.io.BufferedReader;
import java.io.FileReader;
 *演示BufferedReader的使用 
public class BufferedReader_ {
    public static void main(String[] args) throws Exception{
        //1.创建读取的文件
        String filePath="f:\\01.txt";
        //2.创建BufferedReader
        BufferedReader buf=new BufferedReader(new FileReader(filePath));
        //读取(其实底层是FileReader)
        String line;
        //按行读取文件,当返回null表示文件读取完毕
        while((line=buf.readLine())!=null) {
            System.out.println(line);
        //关闭流(本身应该关闭FileReader 但是实际上只需要关闭BufferedReader)
        buf.close();//底层会自动关闭节点流
       
      
     
    
     
      
     
    
    
     
    
    
     可见上面代码中文乱码了
    
    
     
    
    
     
      bufferedReader会以系统默认的编码字符集获取文件内容。如果解析设置的编码字符集与系统默认编码字符集不一致,则会出现乱码问题。
     
     
      
     
    
    
     BufferedReader 中文乱码解决方案解决方案;
    
    
     
    
    
     
      
       BufferedReader buf=new BufferedReader(new FileReader(filePath));
InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "UTF-8");
        BufferedReader buf=new BufferedReader(isr);
    
       
      
     
    
     
      
     
    
    
     
      效果:
     
    
    
     
      
     
    
    
     
      
       package com.xbfinal.day02;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
 *演示BufferedReader的使用 
public class BufferedReader_ {
    public static void main(String[] args) throws Exception{
        //1.创建读取的文件
        String filePath="f:\\01.txt";
        //2.创建BufferedReader
        InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "UTF-8");
        BufferedReader buf=new BufferedReader(isr);
        //读取(其实底层是FileReader)
        String line;
        //按行读取文件,当返回null表示文件读取完毕
        while((line=buf.readLine())!=null) {
            System.out.println(line);
        //关闭流(本身应该关闭FileReader 但是实际上只需要关闭BufferedReader)
        buf.close();//底层会自动关闭节点流
       
      
     
    
     
    
    
     
      
     
    
    
     
    
    
     三、BufferedWriter使用案例
    
    
     
      
     
    
    
     
      
     
    
    
     
      将
     
     hello,笑霸final
     
      写入文件
     
    
    
     
    
    
     步骤
    
    
     
    
    
     
      1.文件写入的路径
     
    
    
     
      
     
    
    
     
      2.创建对象
     
    
    
     
      
     
    
    
     
      3.写入内容
     
    
    
     
      
     
    
    
     
      4.关闭流对象
     
    
    
     
      
     
    
    
     
      
       package com.xbfinal.day02;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
//演示BufferedWriter的使用
public class BufferedWriter_ {
    public static void main(String[] args)throws IOException {
        //文件写入的路径
        String filePath="f:\\xbfinal.txt";
        //准备写入的内容
        BufferedWriter buf=new BufferedWriter(new FileWriter(filePath));
        buf.write("hello,笑霸final");
        buf.newLine();//插入一个换行符;
        buf.write("hello1,笑霸final");
        buf.write("hello2,笑霸final");
        buf.close();
       
      
     
    
     
    
    
     
      
     
    
    
     
    
    
     追加代码
    
    
     
    
    
     
      改动一个地方
     
    
    
     
    
    
     
      
       BufferedWriter buf=new BufferedWriter(new FileWriter(filePath,true));
       
      
     
    
     
    
    
     
      
     
    
    
     
      然后就能完成追加了