2013-04-14 52 views
0

我不明白如果在流中使用標題中所說的內容,如果使用對象流將對象寫入文件,它是否會移動文件流的指針,以及當我使用它後面寫了一些東西,它寫在前面提到的對象後面呢?而對於輸入相同的流ObjectOutputStream(FileOutputStream)指針修改

非常感謝

+0

什麼語言或框架?什麼OS?告訴我們更多... – KenD

+3

這個問題有一個java標記。只是說。 – Sid

+0

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

回答

1

是,包裹流時(稱爲Decorator模式,方式)書面向最外側流(實際上是一個殼)將傳播寫下來鏈。

這裏需要注意的一點很重要,沿鏈的各種Stream對象可能有自己的緩衝區,因此寫入不會立即沿着管道進入。很好的例子是緩衝輸出流和zip輸出流。

如果您打算將某些內容寫入包裝流,然後將某些內容直接寫入鏈中更深處的某個流,建議您在最外層流中調用flush()以確保緩衝區處於鏈將被刷新 - 否則你會冒險寫點無序。

+0

非常感謝你,你是超級巨星,這解決了很多問題,並退出了我正在工作的偏移量的需求,非常快速響應btw !真棒! – besnico