Dun*_*nie 8 java io inputstream
我有一个课程,一方面,InputStream从公共方法返回一个感觉是正确的,例如
public class MyClass {
private File _file;
...
public InputStream getInputStream() {
return new FileInputStream( _file );
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我对这样做也非常谨慎,因为它让调用者有责任关闭这个流.我有什么方法可以避免这个问题?
取决于为什么这是你眼中的问题.如果你绝对必须返回一个InputStream并且有问题的文件不是太大,你可以将整个文件缓冲到一个字节数组中,关闭原始流和return new ByteArrayInputStream(buf).关闭a ByteArrayInputStream是没有必要的(事实上没有效果).
但是,如果返回一个"感觉正确" InputStream,那么调用者应该期待的是什么InputStream,以及所有这一切都没有意义,包括完成时关闭流的必要性?
| 归档时间: |
|
| 查看次数: |
9095 次 |
| 最近记录: |