BufferedWriter 中 void write(int)疑问

来源:4-7 自由编程

while_imooc

2020-09-30 09:44:43

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class TransW2B {
    private static final String fileName = "hello.txt";

    public static void main(String[] args) {
        TransW2B tW2b = new TransW2B();
        try {
            tW2b.transWriteByBuf();
            tW2b.transReadByBuf();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }

    public void transWriteByBuf() throws IOException {
            FileOutputStream fos = new FileOutputStream(fileName);
            OutputStreamWriter osw = new OutputStreamWriter(fos);
            BufferedWriter bw = new BufferedWriter(osw);
            bw.write("你好吗?");
            bw.newLine();
            bw.write("我很好!");
            bw.close();
            osw.close();
            fos.close();
    }

    public void transReadByBuf() throws IOException {
        FileInputStream fis=new FileInputStream(fileName);
        InputStreamReader isr=new InputStreamReader(fis);
        BufferedReader br=new BufferedReader(isr);
        while (br.ready()) {
            System.out.println(br.readLine());
            //System.out.print((char)br.read());
        }
        br.close();
        isr.close();
        fis.close();
    }
}
void    write(char[] cbuf, int off, int len)Writes a portion of an array of characters.    
void    write(int c)Writes a single character.    
void    write(String s, int off, int len)Writes a portion of a String.

BufferedWriter 中的write方法只有这三个重载,为什么我可以输入 bw.write("你好吗"); 呢


写回答

2回答

好帮手慕小班

2020-09-30

同学你好,这里的bw.write("你好吗");调用的是如下这个方法哟:

在Writer类中有这个方法:

http://img.mukewang.com/climg/5f74222f0950082406600430.jpg

而BufferedWriter继承了Writer类,

http://img.mukewang.com/climg/5f74225e09ede36f05060128.jpg

所以这里可以调用public void write(String str)这个方法。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

1

while_imooc

提问者

2020-09-30

噢。。所以是调用的父类的write方法,谢谢老师

1

0 学习 · 16556 问题

查看课程