在Java语言中,用InputStream类来描述所有字节输入流的抽象概念。InputStream类是所有字节输入流的父类,定义了所有Java输入数据流都具有的共通特性。它是一个抽象类,所以不能被实例化。字节输入流类的关系如图8.1所示。
图8.1 字节输入流类的关系
这些字节输入流类的功能描述见表8.1。
表8.1 字节输入流类的功能
1.File InputStream
FileInputStream用来从文件中读取数据,FileInputStream操作的单位是字节,所以它不但可以读写文本文件,也可以读写图片、声音、影像文件,这种特点非常有用,因为我们可以把这种文件变成流,然后在网络上传输。
通过它的构造函数来指定文件路径和文件名,通过使用FileInputStream你可以读取一个文件的一个字节、几个字节或整个文件。创建FileInputStream实例对象时,指定的文件应该是存在和可读的,否则,在进行读取操作的时候会抛出异常。
FileInputStream类的构造方法有以下两种:
•FileInputStream(String filename):用文件名作为参数创建文件输入流对象,这里的filename包含文件路径信息。
•FileInputStream(File f):用一个File对象作为参数来指定流的源端。(www.daowen.com)
【例8.4】 使用FileInputStream类读取文件中的内容,并显示在文本域中。
本程序的运行结果如图8.2所示。
图8.2 FileInputStream类实例
2.Buffered InputStream
Buffered InputStream是FilterInputStream类的子类,它是利用缓冲区来提高读取数据的效率。Buffered InputStream定义了以下两种构造函数:
•Buffered InputStream(InputStream in)
•Buffered InputStream(InputStream in,int size)
第2个参数表示指定缓冲器的大小,以字节为单位。当数据源为文件或键盘时,使用Buffered InputStream类可以提高I/O操作的效率。Buffered InputStream类的用法如例8.4所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。