2014-02-26 78 views
0

何時應該使用以下代碼關閉ObjectOutputStream?謝謝大家...迭代並寫入ObjectOutputStream

try{ 
    ObjectOutputStream output = new ObjectOutputStream(client.getOutputStream()); 
    AnObject[] array = new AnObject[4]; 
    for(int i = 0; i < array.length ; i++){ 
     array[i] = new AnObject(); 
     output.writeObject(array[i]); 
    } 
    output.flush(); 
    output.close(); 
    } 
catch(IOException e){ 
     processException(); 
} 

回答

0

每當你完成使用它。您應該在發送後flush()以強制通過添加到流的緩衝區的所有數據到您的基礎流(Object*Streams是您的客戶端的包裝OutputStream),即使流的緩衝區未滿。

另外,在關閉之前不需要刷新,因爲output.close()調用flush()

它看起來像你發送數據後關閉它,所以除非你有更多的東西通過你的客戶端的流發送,你正在關閉。