为了账号安全,请及时绑定邮箱和手机立即绑定

请教一下关于java的close方法,麻烦大佬帮帮忙!

请教一下关于java的close方法,麻烦大佬帮帮忙!

HUWWW 2021-10-17 17:18:00
每次关闭输入流或者关闭输出流的时候,为什么例子在close()方法后面的注释总是说 close方法本身什么也不做啊??无法理解到~~
查看完整描述

3 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

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

查看完整回答
反对 回复 2021-10-24
?
牛魔王的故事

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方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

查看完整回答
反对 回复 2021-10-24
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

close()的作用是关闭这个流,并且释放这个流所占用的资源。
你做简单应用不释放也没关系,不会对系统造成影响。但是你想想要是上万人同时用你这个系统,那么你的机器就受不了了。
同时不关闭这个编程习惯不缜密,不好。

查看完整回答
反对 回复 2021-10-24
  • 3 回答
  • 0 关注
  • 374 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信