IO_File类使用:字符缓冲流

/**
    为字符流提供缓存,以达到高效读取的目的
    1、加入字符缓冲流,增强读取功能(readline())
    2、更高效的读取数据
    FileReader:内部使用InputStreamReader(sun.nio.cs.StreamDecoder类),解码过程byte->char,默认的缓存大小8K;
    BufferedReader:【字符输入流】默认缓存大小也是8K,但是可以传参指定缓存大小,把数据直接读取到缓存中,减少每次转换过程
    BufferedWriter:【字符输入流】默认缓存大小也是8K,但是可以传参指定缓存大小,把数据直接先写入缓存中,减少每次转换过程
*/


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

public class CharBufferDemo {

    public static void main(String[] args) {
        BufferReader();
        BufferWriter();
    }
    
    
    //字符缓存输出流
    public static void BufferReader() {
        File file = new File("E:\\Java_IO\\haha.txt");
        try {
            Reader reader = new FileReader(file);
            BufferedReader br = new BufferedReader(reader);
            char [] chars = new char[1024];
            int len = -1;
            StringBuilder buf = new StringBuilder();
            while((len=br.read(chars))!=-1) {
                buf.append(new String(chars,0,len));
            }
            br.close();
            //reader.close(); 关闭外层流可以不用写,try语句会帮助自动关闭
            System.out.println(buf);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }   
    }
    
    //字符缓存输入流
    public static void BufferWriter() {
        File file2 = new File("E:\\Java_IO\\haha.txt");
        try {
            Writer write = new FileWriter(file2,true);
            BufferedWriter bw = new BufferedWriter(write);
            String info = "大大吼吼";
            bw.write(info);
            bw.flush();     //刷新缓存流,这样写入到缓存流中的数据会自动写入到文件中;也可以不用写,try语句关闭时会自动刷新缓存流
            bw.close();
            //write.close(); 关闭外层流可以不用写,try语句会帮助自动关闭            
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
    
}

猜你喜欢

转载自blog.csdn.net/weixin_33696822/article/details/87073972
今日推荐