黑马程序员技术交流社区
标题:
关于流的关闭的问题
[打印本页]
作者:
落木萧萧
时间:
2013-9-22 18:58
标题:
关于流的关闭的问题
本帖最后由 落木萧萧 于 2013-9-22 20:08 编辑
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("students.txt")));
复制代码
如上代码,当我需要关闭reader的时候,还要关闭其他几个直接new出来的流么?
作者:
胡智
时间:
2013-9-22 19:00
不需要,直接关reader流就可以了。
作者:
落木萧萧
时间:
2013-9-22 19:02
胡智 发表于 2013-9-22 19:00
不需要,直接关reader流就可以了。
为什么呢?
作者:
胡智
时间:
2013-9-22 19:09
落木萧萧 发表于 2013-9-22 19:02
为什么呢?
因为
BufferedReader是用来缓冲的,
InputStreamReader是用来对流进行转换的,
实际对数据进行读取的是
FileInputStream。
当你关闭
BufferedReader流,实际就是关闭对数据操作的流。所以你只需要关
BufferedReader就可以了。
作者:
何丛
时间:
2013-9-22 19:10
如果是BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test.txt")));只需要br.close();
如果是InputStream is = new FileInputStream("test.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
则需要逐一关闭
br.close();
isr.close();
is.close();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2