Java中的I/O

Java中的I/O API 数量众多,掌握起来很困难,这篇文章将梳理一下Java中的I/O库。先来一张类图。
java-io-1.jpg

输入和输出

在Java中可以将I/O库简单的分为输入和输出两部分。从InputStream衍生的所有类都拥有read()方法,从OutputStream衍生的所有类都拥有write()方法。

InputStream

InputStream抽象了从不同来源产生的输入类。这些来源包括:字节数组、String对象、文件、管道、网络等。
与这些来源相对应的类包括:ByteArrayInputStream(允许内存中的一个缓冲区作为InputStream使用)、StringBufferInputStream(将一个String转换成InputStream)、FileInputStream(用于从文件读取信息)。

OutputStream

OutputStream抽象了输出的目的地,包括字节数组、文件、管道等。
与这些目的地对应的类包括:ByteArrayOutputStream(将流输出到缓冲区)、FileoutPutStream(将流输出到文件)。