数据源与OutputStream的结合
字节数组:ByteArrayOutputStream(java.io)
文件:FileOutputStream(java.io)
管道:PipedOutputStream(java.io)
对象:ObjectOutputStream(java.io)
仍旧是数据源与OutputStream的组合
| ByteArrayOutputStream |
其中的数据被写入一个 byte 数组 缓冲区会随着数据的不断写入而自动增长, 可使用 toByteArray() 和 toString() 获取数据 关闭 ByteArrayOutputStream 无效 此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException | ByteArrayOutputStream() ByteArrayOutputStream(int size) 无参会调用有参,设置默认值 |
| FileOutputStream | 信息写入文件 | FileOutputStream(String name) FileOutputStream(String name, boolean append) FileOutputStream(File file) FileOutputStream(File file, boolean append) FileOutputStream(FileDescriptor fdObj) 与FileInputStream几乎一样,不同的是第二个参数用于设置是否是append追加 |
| PipedOutputStream | 可以将管道输出流连接到管道输入流来创建通信管道 管道输出流是管道的发送端 通常,数据由某个线程写入 PipedOutputStream 对象 并由其他线程从连接的 PipedInputStream 读取 不建议对这两个对象尝试使用单个线程,因为这样可能会造成该线程死锁 | PipedOutputStream(PipedInputStream snk) PipedOutputStream() |
| ObjectOutputStream | ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream 可以使用 ObjectInputStream 读取(重构)对象 通过在流中使用文件可以实现对象的持久存储 如果流是网络套接字流,则可以在另一台主机上或另一个进程中重构对象 | ObjectOutputStream(OutputStream out) ObjectOutputStream() |

2.2.2.2 OutputStream过滤流
类似InputStream,OutputStream也需要有支撑基本数据类型的功能,以及缓冲的功能
另外,既然是输出,还希望能够输出各种类型的数据,这样子将会更加方便
也就是
| 基本数据类型支持/缓冲/便捷输出 |
|
DataOutputStream (java.io) BufferedOutputStream (java.io) PrintStream (java.io) |

同InputStream 一样
扩展的功能,类库设计者依然是使用装饰器模式
FilterOutputStream (java.io) 是我们的Decorator

完整的家谱

| 非IO包中的,但是却跟IO相关的一些功能点,跟OutputStream相关的类 |
|
SocketOutputStream (java.net) CheckedOutputStream (java.util.zip) DeflaterOutputStream (java.util.zip) GZIPOutputStream (java.util.zip) InflaterOutputStream (java.util.zip) JarOutputStream (java.util.jar) ZipOutputStream (java.util.zip) |
扩展的家谱

本文详细介绍了Java IO中的OutputStream家族,包括ByteArrayOutputStream、FileOutputStream、PipedOutputStream和ObjectOutputStream。ByteArrayOutputStream用于内存中的数据操作,FileOutputStream实现文件写入,PipedOutputStream创建通信管道,而ObjectOutputStream则用于序列化对象。此外,还提到了OutputStream的过滤流,如DataOutputStream、BufferedOutputStream和PrintStream,它们提供了基本类型支持、缓冲和便捷输出功能。
2758

被折叠的 条评论
为什么被折叠?



