1)字节流和字符流还是有区别的:字节主要是读一些如音乐文件、视频文件(可以理解那些比较细腻精度要求高的文件),而字符流就相对宽松一些了:如文本文件……
2)flush() 是刷新的意思,就是把缓冲区里的数据给提交输出流里然后输出; close()是关闭输出流,在关闭之前会做一次刷新!所以你只要有close()也相当于刷新后提交数据了!
……这下你明白了吧?!……
OutputStreamWriter继承Writer,方法更多
flush()和BufferedReader 都是将缓冲中的数据全部输出
你也可以不用字节流啊,使用封装好的函数,就像 apache commons-io,解释一下,jdk当然只提供最基本的借口了,所有文件/数据当然都是流了,nio比io更好