0

我不明白是否用流做标题中所说的,如果我使用对象流将对象写入文件,它是否会移动文件流的指针,当我使用它之后,写一些东西,它写在上述对象之后?输入流也一样

非常感谢

4

1 回答 1

1

是的,当包装流(顺便说一下,称为装饰器模式)时,写入最外层流(实际上是一个外壳)将沿着链传播写入。

这里要注意的重要一点是,链上的各种 Stream 对象可能有自己的缓冲区,因此写入不会立即进入管道。缓冲输出流和 zip 输出流就是很好的例子。

如果您打算将某些内容写入包装流,然后将某些内容直接写入链中较深的流之一,建议您在最外层流上调用 flush() 以确保链中的任何缓冲区都将是冲出 - 否则您可能会乱写位。

于 2013-04-14T11:30:22.040 回答