返回介绍

10.2.2 通过 FilterOutputStream 向 OutputStream 里写入数据

发布于 2024-10-15 23:56:23 字数 3110 浏览 0 评论 0 收藏 0

与 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 控制的是“显示” OutputStream,可选一个布尔参数,指示缓冲区是否与每个新行一同刷新/对于自己的 OutputStream 对象,应该用“final”将其封闭在内。可能经常都要用到它

BufferedOutputStream 用它避免每次发出数据的时候都要进行物理性的写入,要求它“请先在缓冲区里找”。可调用 flush(),对缓冲区进行刷新 OutputStream,可选缓冲区大小/本身并不能提供一个接口,只是发出使用缓冲区的要求。需要同一个接口对象连接到一起

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文