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回答
同学你好,这里的bw.write("你好吗");调用的是如下这个方法哟:
在Writer类中有这个方法:

而BufferedWriter继承了Writer类,

所以这里可以调用public void write(String str)这个方法。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
while_imooc
提问者
2020-09-30
噢。。所以是调用的父类的write方法,谢谢老师
相似问题
回答 1
回答 1