黑马程序员技术交流社区

标题: 关于BufferedReader的close问题! [打印本页]

作者: 郭金龙    时间: 2012-12-19 10:36
标题: 关于BufferedReader的close问题!
请问为什么使用了BufferedReader或者BufferedWriter之后使用了他们的close,原来文件的FileReader或者FileWriter就可以不使用close的方法了呢?

作者: 凊係柈泩    时间: 2012-12-19 10:45
可参照接口Closeable,看API得知BufferedReader、BufferedWriter、FileReader、FileWriter都是实现类,这个接口只有一个方法就是close();接口不能够创建实例,只能由子类覆盖其方法,根据API描述close();是这样写的,关闭此流并释放与此流关联的所有系统资源。如果已经关闭该流,则调用此方法无效。 这句话就可知流资源关闭全部资源都释放了,所以不用重复关闭,重复关闭也无效。
作者: 高境    时间: 2012-12-19 10:53
因为FileReader和FielWriter其实底层用的是BufferedReader和BufferedWriter,只是将他们封装起来让开发者更方便的使用,所以,使用了BufferedReader或者BufferedWriter之后使用了他们的close,底层其实是使用了、FileReader、FileWriter的close方法。所以,可以不必使用原来文件的FileReader或者FileWriter的close方法也可以关闭资源。
作者: 郭金龙    时间: 2012-12-19 11:30
凊係柈泩 发表于 2012-12-19 10:45
可参照接口Closeable,看API得知BufferedReader、BufferedWriter、FileReader、FileWriter都是实现类,这个 ...

谢谢!您辛苦鸟!
作者: 凊係柈泩    时间: 2012-12-19 11:32
郭金龙 发表于 2012-12-19 11:30
谢谢!您辛苦鸟!

希望能够帮到你屌丝,共同努力




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2