IO流之BufferedReader/BufferedWriter

Posted zhangxiong-tianxiadiyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
    }

 

以上是关于IO流之BufferedReader/BufferedWriter的主要内容,如果未能解决你的问题,请参考以下文章

io流之转换流InputStreamReaderOutputStreamWriter

IO流之字节,字符

IO流之IO流综述

IO流之InputStream和OutputStream

IO流之文件切割,文件合并 Java

io流之inputstreamoutputstreamreaderwriter