Java IO 流主要分为字节流和字符流。字节流的基类是InputStream和OutputStream,主要处理图片、视频等二进制数据;字符流的基类是Reader和Writer,主要处理文本数据。
按照功能还可以分为文件流、缓冲流、转换流、对象流和数据流。例如BufferedInputStream用于提高 IO 性能,InputStreamReader用于字节流和字符流之间的转换,ObjectInputStream和ObjectOutputStream用于对象的反序列化和序列化
字节流:InputStream / OutputStream
字符流:Reader / Writer
文件流:FileInputStream / FileOutputStream
缓冲流:BufferedInputStream / BufferedOutputStream BufferedReader / BufferedWriter
转换流:InputStreamReader / OutputStreamWriter
对象流:ObjectInputStream / ObjectOutputStream
数据流:DataInputStream / DataOutputStream