彻底转变流,第1部分 - 编程入门网
{
public OutputStream getOutputStream (OutputStream out)
throws IOException {
return new GZIPOutputStream (out);
}
}
该 I/O 流引擎及其输出流工厂框架通常足以支持大多数的输出流过滤需要。 彻底转变流,第1部分(7)时间:2011-06-21 Merlin Hughes输出引擎输入流 最后,我们还需要一小段代码来完成这个解决方案。清单 12 到 16 中的代 码提供了读取由输出引擎所写数据的输入流。事实上,这段代码有两个部分:主 类是一个从内部缓冲区读取数据的输入流。与此紧密耦合的是一个输出流(如清 单 17 所示),它把输出引擎所写的数据填充到内部读缓冲区。 主输入流类将用其内部输出流来初始化输出引擎。然后,每当它的缓冲区为 空时,它会自动执行该引擎来接收更多数据。输出引擎将数据写入其输出流中, 这将重新填充输入流的内部缓冲区,以允许需要内部缓冲区数据的应用程序高效 地读取数据。 清单 12. 输出引擎输入流
该输入流的构造器获取一个输出引擎以从中读取数据和一个可选的缓冲区大 小。该流首先初始化其本身,然后初始化输出引擎。 清单 13. 构造器
彻底转变流,第1部分(8)时间:2011-06-21 Merlin Hughes代码的主要读部分是一个相对简单的基于字节数组的输入流,与 ByteArrayInputStream 类非常相似。然而,每当需要数据而该流为空时,它都 会调用输出引擎的 execute() 方法来重新填写读缓冲区。然后,将这些新数据 返回给调用程序。因而,这个类将对输出引擎所写的数据反复读取,直到它读完 为止,此时将设置 eof 标志并且该流将返回已到达文件末尾的信息。 清单 14. 读取数据
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |