IO流之BufferedReader/BufferedWriter

BufferedReader继承于Reader,除了之前提到的

read  ==》一个字符一个字符的读;

read(char[ ] cbuf)==》 多个字符(字符串)的读;

还增加了自己独有的读取方法:

readLine()==》用于读取一行文本。

BufferedReader初始化时需要一个reader,所以也是响应了上面的话“除了有reader的方法,也增加了自己独有的方法”

public static void main(String[] args) throws IOException {
         File file=new File("D:\\111\\a.txt");
           //实现一行一行读取
         FileReader reader=new FileReader(file);
         BufferedReader br=new BufferedReader(reader);
        String line;
        while ((line=br.readLine())!=null) {
            System.out.println(line);
        }
         br.close();
reader.close(); }

BufferedWriter继承于Writer,除了之前提到的

write  ==》一个字符一个字符的读;

write(char[ ] cbuf)和write(string)==》 多个字符(字符串)的读;

newline() 写入一个行分隔符。

public static void main(String[] args) throws IOException {
         File file=new File("D:\\111\\a.txt");
           //实现一行一行写入
         FileWriter writer=new FileWriter(file);
        BufferedWriter bw=new BufferedWriter(writer);
        bw.write("lol");
        bw.newLine();
        bw.write("dnf");
 bw.flush();
bw.close(); 
writer.close();
}

上面的代码都是在系统默认的编码格式下写的,那如果需要用不同编码格式写又是怎么操作呢?

 File file=new File("D:\\111\\b.txt");
           //实现utf8格式一行一行写入
         FileOutputStream out=new FileOutputStream(file);
         OutputStreamWriter writer=new OutputStreamWriter(out,"utf8"); //这里需要来一个转换流
         BufferedWriter bw=new BufferedWriter(writer);
         bw.write("dnf");
         bw.newLine();
         bw.write("lol");
        bw.flush();
        bw.close();
        writer.close();
    }

 

posted @ 2019-05-08 13:03  c++天下第一  阅读(632)  评论(0编辑  收藏  举报