无论如何,有没有检查OutputStream是否关闭而不尝试写入它并捕获IOException
?
例如,考虑以下人为方法:
public boolean isStreamClosed(OutputStream out){
if( /* stream isn't closed */){
return true;
}else{
return false;
}
}
您可以用什么替换
/* stream isn't closed */
? 最佳答案
在您尝试对其进行写入之前,基础流可能不知道其关闭(例如,如果套接字的另一端将其关闭)
最简单的方法是使用它并处理如果关闭则发生的情况,而不是先进行测试。
无论您进行什么测试,总是有机会获得IOException,因此您无法避免异常处理代码。添加此测试可能会使代码复杂化。