简介
FileReader FileWriter 都是提供操作文件的便捷类
这两个类的实现非常的简单
原理
回忆下之前的InputStreamReader和OutputStreamWriter
InputStreamReader 是转换流,字节通往字符的桥梁
OutputStreamWriter是转换流 字符通向字节的桥梁
他们是适配器模式,
InputStreamReader目标是Reader
OutputStreamWriter目标是Writer
InputStreamReader接受一个InputStream
OutputStreamWriter 接受一个OutputStream
然后将他们用起来像是Reader或者Writer
所以,如果想要对文件进行字符操作
你肯定想得到下面的方式
new InputStreamReader(new FileInputStream(File/String/FileDescriptor) ) 现在,看下FileReader 和 FileWriter他们的构造方法
很清楚的看得出来
FileReader 和 FileWriter所有的构造方法都是做了一件事情
那就是调用 InputStreamReader 和 OutputStreamWriter的构造方法
也就是:
new InputStreamReader(new FileInputStream(File/String/FileDescriptor) )
或者
new OutputStreamWriter(new FileOutputStream(File / String /fd));
因为他们是InputStreamReader 和 OutStreamWriter的子类
所以用的是super调用
总结
FileReader 和 FileWriter继承了InputStreamReader 和OutputStreamWriter
他们本身就是InputStreamReader 或者OutputStreamWriter
他们只是new InputStreamReader 或者OutputStreamWriter的简化形式
使用这两个类,只需要清楚他们的构造方法即可
想要深入理解,可以在翻看下InputStreamReader 和OutputStreamWriter的介绍