3 回答
TA贡献1818条经验 获得超11个赞
书上说的是InputStream和OutputStream这两个类的close()方法什么也不做。
这么做是为了让开发者自己去继承这两个类,并覆盖close()方法。如果不覆盖,则默认什么也不做。这使得程序员可以在close方法中做自己需要的操作。比如删除临时文件之类的。。。
JAVA中,所有的输入流都是InputStream的子类的对象,所有的输出流都是OutputStream的子类的对象。因为InputStream和OutputStream都是抽象类,它们不可能被实例化。
JDK中有一些常用的类已经继承了这两个类。比如FileInputStream和FileOutputStream,这两个子类的close()方法都有执行操作的。
TA贡献1830条经验 获得超3个赞
close方法通常是用在关闭一个流,如文件流,数据库io流的等,说白了就是为了释放资源。举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
TA贡献1801条经验 获得超8个赞
close()的作用是关闭这个流,并且释放这个流所占用的资源。
你做简单应用不释放也没关系,不会对系统造成影响。但是你想想要是上万人同时用你这个系统,那么你的机器就受不了了。
同时不关闭这个编程习惯不缜密,不好。
添加回答
举报