fillWithUsefulData(buffer); //自定义的方法,用于在 buffer 中填充数据
InputStream s = new ByteArrayInputStream(buffer);
InputStream s1 = new ByteArrayInputStream(buffer,100,300);
其中 ByteArrayInputStream(buffer,100,300)是创建到 buffer 的 stream,从 buffer 的第 100 个字
节开始取 300 字节。
ByteArrayInputStream 的其它方法与 InputStream 类似,这里不再重复。
1.3 FileInputStream
FileInputStream 也是从 InputStream 中继承下来的,用于从指定的文件中提取。因此它的方
法也与 InputStream 中的方法类似,这里不再介绍,只介绍 FileInputStream 中特殊的方法:
getFD(),该方法用于获取文件句柄。使用方法如下:
FileInputStream aFIS = new FileInputStream("aFileName");
FileDescriptor myFD = aFIS.getFD();
这样以后要用到 aFileName 文件时可以使用 myFD 这个文件句柄(实际上是文件描述类的
实 例 ) , 如 要 重 新 打 开 该 文 件 , 可 以 使 用 FileInputStream aFIS = new
FileInputStream(myFD)。
关于文件描述类 FileDescriptor,有以下几点说明:
(1) 属性 in:标准输入;
(2) 属性 out:标准输出;
(3) 属性 err:标准错误输出;
在 FileInputStream 中还有另一个特殊的方法就是:finalize()。
1.4 FilterInputStream
FilterInputStream 也是从 InputStream 中继承下来,不过 FilterInputStream 类基本上不能直接
使用,一般上使用该类的派生类,如 BufferedInputStream 等。该类的最大特点是,在定义
时可以嵌套:
InputStream s = getAnInputStreamFromSomewhere();
FilterInputStream s1 = new FilterInputStream(s);