2014-02-26 52 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()

它看起来像你发送数据后关闭它,所以除非你有更多的东西通过你的客户端的流发送,你正在关闭。