简单来说:字节流不使用缓存,字符流使用缓存。
字节流直接把数据写到文件,而字符流先把数据写到缓存,再写到文件。
写文件时:
使用字节流的时候,wirte之后,就算没有关闭流(close方法),程序也把数据写到文件了;
使用字符流的时候,write之后,如果没有关闭流,打开文件后发现数据并没有写进去。当时可以强行把缓存区的内容输出到文件,使用Write.flush()。
字节流的父类是InputStream和OutputStream;字符流的父类是Reader和Writer。这四个都是抽象类。
开发中,字节流使用更广泛。