2013-04-14 54 views
0

我不明白如果在流中使用标题中所说的内容,如果使用对象流将对象写入文件,它是否会移动文件流的指针,以及当我使用它后面写了一些东西,它写在前面提到的对象后面呢?而对于输入相同的流ObjectOutputStream(FileOutputStream)指针修改

非常感谢

+0

什么语言或框架?什么OS?告诉我们更多... – KenD

+3

这个问题有一个java标记。只是说。 – Sid

+0

哈哈,它是java,它已经回答了;) – besnico

回答

1

是,包裹流时(称为Decorator模式,方式)书面向最外侧流(实际上是一个壳)将传播写下来链。

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

如果您打算将某些内容写入包装流,然后将某些内容直接写入链中更深处的某个流,建议您在最外层流中调用flush()以确保缓冲区处于链将被刷新 - 否则你会冒险写点无序。

+0

非常感谢你,你是超级巨星,这解决了很多问题,并退出了我正在工作的偏移量的需求,非常快速响应btw !真棒! – besnico