A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李柯 中级黑马   /  2012-4-14 06:50  /  2570 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

流到底要不要关闭呢,因为即使不关闭它也是还可以运行的,那为什么还要关闭呢?

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

7 个回复

倒序浏览
这~~~这是安全问题吧,既然你资源用完了就关闭呗,再说也占内存啊

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
首先第一个是保证安全,第二,关闭IO流,可以释放与之关联的所有系统资源。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 张亮 于 2012-5-31 12:21 编辑

虽然楼上都回答了。我还是要说说。
关闭流就是为了释放它占用的内存。不用了,就要关闭。
回复 使用道具 举报
必须要关闭 输出流不关闭一般不能写到数据里
流关闭,关闭释放资源,节省内存空间。
回复 使用道具 举报
虽然JAVA有内存自动回收机制,但是打开了流,不用了的时候关闭掉是一种良好编程习惯,其他作用楼上几位兄弟说得很明白了
回复 使用道具 举报
1.不关闭流会浪费系统资源,与数据库连接资源类似。程序每执行一段代码都占用一部分内存,如果不关闭的话肯定会浪费内存的,而且如果有动态分配的内存,那还会造成内存泄露。

2.每个系统打开文件数量是有一限制的,如果打开文件不关闭,当连接数满的时候就无法再打开文件了。一般一个操作系统能最多打开1024个文件,但这个不一定,与机器硬件配置和系统配置有关。老点的机器只能同时打开256个或更低。

3.IO流也有独占模式,也就是锁的概念,打开一个文件流以后,如果是以读的模式打开那就是共享锁,其它程序也可访问读取;如果以写的模式打开一般为独占,其它程序不能访问.具体表现情况还要看操作系统或者应用程序是如何处理的,因为底层的程序和高层的程序不一样。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
IO流是一定要关闭的不然会出现异常。
为了安全性考虑也要关闭流。
并且记得抛出异常,用myeclpse会提示你需要try和catch的地方。最好在finally中关闭流。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马