对于过滤流的关闭,一般采取先开后关、由外向内的原则。
FileInputStream f=new FileInputStream( "file ");
BufferedInputStream b=new BufferedInputStream(f);
DataInputStream d=new DataInputStream(b);
关闭”真正有意义的事情在于“释放系统资源”。在这个例子里,只有FileInputStream占据了系统资源(打开了一个文件),另外两个流对象只是从数据处理角度做的包装(可能会占用一些内存,但不占用其它“系统资源”)。所以,只需要确保关闭了FileInputStream即可。
在实际编程实践中,你不一定总能清楚地知道每层的流对象是否占据了系统资源,所以,最安全(也是最常规)的做法就是
关闭最外层的那个对象。这种逐层包装的对象在实现上都会有一个特点,像“关闭”这种操作都会逐层向内调用。
引自:http://blog.sina.com.cn/s/blog_6307d85b0100gqtt.html
posted on 2010-02-25 11:26
身在半空 阅读(1141)
评论(0) 编辑 收藏