码迷,mamicode.com
首页 > 其他好文 > 详细

IO流之BufferedReader/BufferedWriter

时间:2019-05-08 13:18:38      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:字符   line   系统   throw   字符串   flush   buffere   writer   ola   

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

标签:字符   line   系统   throw   字符串   flush   buffere   writer   ola   

原文地址:https://www.cnblogs.com/zhangxiong-tianxiadiyi/p/10831200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!