词条 | FilterOutputStream |
释义 | FilterOutputStream的其中一类是DataInputStream,DataInputStream的另一半是DataOutputStream。它的任务是把primitive数据和String对象重新组织成流,这样其它机器就能用DataInputStream读取这个流了。DataOutputStream的方法都是以"write"开头的,比如writeByte( ),writeFloat( )等等。 PrintStream的用意是要以一种大家都能看懂的方式把primitive数据和String对象打印出来。这一点同DataOutputStream不同,后者是要将数据装入一个流,然后再交给 DataInputStream处理。 PrintStream的两个最重要的方法是print( )和println( )。这两个方法都已经作了重载,因此可以打印各种数据。print( )和println( )的区别在于,后者会多打印一个换行符。 使用PrintStream的时候会比较麻烦,因为它会捕捉所有的IOException(所以你必须直接调用checkError( )来检查错误条件,因为这个方法会在碰到问题的时候返回true)。再加上,PrintStream的国际化做得也不好,而且还不能以与平台无关的方式处理换行(这些问题都已经在PrintWriter里得到解决,我们接下来再讲)。 BufferedOutputStream 是个decorator,它表示对流作缓冲,这样每次往流里写东西的时候它就不会再每次都作物理操作了。输出的时候大致都要这么做。 FilterOutputStream的种类 类 功能 构造函数的参数 用法 DataOutputStream 与DataInputStream配合使用,这样你就可以用一种"可携带的方式(portable fashion)"往流里写primitive了(int, char, long,等) OutputStream 包括写入primitive数据的全套接口。 PrintStream 负责生成带格式的输出(formatted output)。DataOutputStrem负责数据的存储,而PrintStream负责数据的显示。 一个OutputStream以及一个可选的boolean值。这个boolean值表示,要不要清空换行符后面的缓冲区。 应该是OutputStream对象的最终包覆层。用的机会很多。 BufferedOutputStream 用 这个类解决"每次往流里写数据,都要进行物理操作"的问题。也就是说"用缓冲区"。用flush( )清空缓冲区。 OutputStream, 以及一个可选的缓冲区大小 本身并不提供接口,只是加了一个缓冲区。需要链接一个有接口的对象。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。