通过FilterOutputStream向OutputStream里写入数据
时间:2007-05-28 yycnet.yeah.net yyc译
与DataInputStream对应的是DataOutputStream,后者对各个基本数据类型以及String对象进行格式化,并将其置入一个数据“流”中,以便任何机器上的DataInputStream都能正常地读取它们。所有方法都以“wirte”开头,例如writeByte(),writeFloat()等等。若想进行一些真正的格式化输出,比如输出到控制台,请使用PrintStream。利用它可以打印出所有基本数据类型以及String对象,并可采用一种易于查看的格式。这与DataOutputStream正好相反,后者的目标是将那些数据置入一个数据流中,以便DataInputStream能够方便地重新构造它们。System.out静态对象是一个PrintStream。PrintStream内两个重要的方法是print()和println()。它们已进行了覆盖处理,可打印出所有数据类型。print()和println()之间的差异是后者在操作完毕后会自动添加一个新行。BufferedOutputStream属于一种“修改器”,用于指示数据流使用缓冲技术,使自己不必每次都向流内物理性地写入数据。通常都应将它应用于文件处理和控制器IO。表10.4 FilterOutputStream的类型
Class
|
Function
|
Constructor Arguments
|
How to use it
|
Data-OutputStream
|
Used in concert with DataInputStream so you can write primitives (int, char, long, etc.) to a stream in a portable fashion.
|
OutputStream
|
Contains full interface to allow you to write primitive types.
|
PrintStream
|
For producing formatted output. While DataOutputStream handles the storage of data, PrintStream handles display.
|
OutputStream, with optional boolean indicating that the buffer is flushed with every newline.
|
Should be the “final” wrapping for your OutputStream object. You’ll probably use this a lot.
|
Buffered-OutputStream
|
Use this to prevent a physical write every time you send a piece of data. You’re saying “Use a buffer.” You can call flush() to flush the buffer.
|
OutputStream, with optional buffer size.
|
This doesn’t provide an interface per se, just a requirement that a buffer is used. Attach an interface object.
|
类 功能 构建器参数/如何使用DataOutputStream 与DataInputStream配合使用,以便采用方便的形式将基本数据类型(int,char,long等)写入一个数据流 OutputStream/包含了完整接口,以便我们写入基本数据类型PrintStream 用于产生格式化输出。DataOutputStream控制的是数据的“存储”,而PrintStream控制的是&ldq |