天天看点

Java 输入 / 输出流

    java语言定义了许多类负责各种方式的输入/输出,这些类都放在 java.io 包中。所有的输入流类都是抽象类inputstream(字节输入流)或抽象类reader(字符输入流)的子类;而所有输出流都是抽象类outputstream(字节输出流)或抽象类writer(字符输出流)的子类。

输入流

        inputstream类是字节输入流的抽象类,是所有字节输入流的父类。inputstream类的具体层次结构如图所示:

Java 输入 / 输出流

    该类中所有方法遇到错误时都会引发ioexception异常。下面是对该类中的一些方法的简要说明如下表所示。

Java 输入 / 输出流

        java中的字符是unicode编码,是双字节的。inputstream是用来处理字节的,在处理字符文本时不是很方便。java为字符文本的输入提供了专门一套单独的类reader,但reader类并不是inputstream类的替换者,只是在处理字符串时简化了编程。reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类,reader类的具体层次结构如下图所示:

Java 输入 / 输出流

输出流

        outputstream类是字节输入流的抽象类,此抽象类是表示输出字节流的所有类的超类。outputstream类的具体层次如图所示:

Java 输入 / 输出流

outputstream类中的所有方法均返回void,在遇到错误时会引发ioexception异常。下面对outputstream类中的方法作一简单的介绍,如下表所示: 

Java 输入 / 输出流

writer类是字符输出流的抽象类,所有字符输出类的实现都是它的子类,writer类的层次结构如下图所示:

Java 输入 / 输出流