java的close方法

来源:百度知道 编辑:UC知道 时间:2024/07/07 06:41:59
每次关闭输入流或者关闭输出流的时候,为什么例子在close()方法后面的注释总是说 close方法本身什么也不做啊??无法理解到~~~

书上说的是InputStream和OutputStream这两个类的close()方法什么也不做。
这么做是为了让开发者自己去继承这两个类,并覆盖close()方法。如果不覆盖,则默认什么也不做。这使得程序员可以在close方法中做自己需要的操作。比如删除临时文件之类的。。。
JAVA中,所有的输入流都是InputStream的子类的对象,所有的输出流都是OutputStream的子类的对象。因为InputStream和OutputStream都是抽象类,它们不可能被实例化。
JDK中有一些常用的类已经继承了这两个类。比如FileInputStream和FileOutputStream,这两个子类的close()方法都有执行操作的。

顺便说一句,麦兄,你什么时候出来教训一下罗伊阿,你看他昨天在火箭面前多么嚣张!

close方法通常是用在关闭一个流,如文件流,数据库io流的等,说白了就是为了释放资源。举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

楼主还是最好给个例子,对症下药吗!“close方法本身什么也不做啊”可能的解释就是使用了对象池,close只是简单的把资源返回到池中。

哪个类的close()?说清楚
比如说
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.io.BufferedInputStream
的void cl