IO流是一种流式的数据输入/输出模型:

    • 二进制数据以byte为最小单位在InputStream/OutputStream中单向流动;
    • 字符数据以char为最小单位在Reader/Writer中单向流动。

    Java标准库的java.io包提供了同步IO功能:

    • 字节流接口:InputStream/OutputStream
    • 字符流接口:Reader/Writer

    究竟使用Reader还是InputStream,要取决于具体的使用场景。如果数据源不是文本,就只能使用InputStream,如果数据源是文本,使用Reader更方便一些。WriterOutputStream是类似的。