Java中用来表示输入流的类分为两种,分别是字节输入流InputStream类和字符输入流Reader类。下面对这两个类进行介绍。
1.InputStream类
InputStream类是所有字节输入流类的父类,是一个抽象类,其子类如图14.1.2所示。
图14.1.2 InputStream类的子类介绍图
InputStream类中所有方法在调用时都会抛出IOException异常,表示在处理输入/输出流时发生的问题异常。InputStream类中的成员方法如表14.1.1所示。
表14.1.1 InputStream类的成员方法
动手写14.1.1
其运行结果为:
图14.1.3 InputStream类示例
需要注意的是,Java中并不是所有InputStream类的子类都实现或重写了InputStream类中的所有成员方法,例如skip()和reset()方法只可以在部分子类中使用。
2.Reader类(www.xing528.com)
InputStream类是用来处理字节流的,但是在Java环境中,字符文本都是Unicode编码,是双字节的,不适合使用InputStream来进行处理。java.io包中提供了Reader类,专门用于处理字符流,降低了开发者的开发成本。
Reader类是所有字符输入流类的父类,它的子类如图14.1.4所示。
图14.1.4 Reader类的子类介绍图
Reader类中的成员方法如表14.1.2所示。
表14.1.2 Reader类的成员方法
动手写14.1.2
其运行结果为:
图14.1.5 Reader类示例
需要注意的是,虽然Reader类与InputStream类中的成员方法类似,但是有些方法并不相同。例如Reader类多了ready()方法用来判断输入流是否准备就绪,这个判断逻辑在一个文件很大、读取速度很慢时非常有用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。