黑马程序员技术交流社区

标题: IO流问题? [打印本页]

作者: 李柯    时间: 2012-4-14 06:50
标题: IO流问题?
流到底要不要关闭呢,因为即使不关闭它也是还可以运行的,那为什么还要关闭呢?
作者: 张小庆    时间: 2012-4-14 07:02
这~~~这是安全问题吧,既然你资源用完了就关闭呗,再说也占内存啊
作者: 陈志伟    时间: 2012-4-14 08:36
首先第一个是保证安全,第二,关闭IO流,可以释放与之关联的所有系统资源。
作者: 张亮    时间: 2012-4-14 13:06
本帖最后由 张亮 于 2012-5-31 12:21 编辑

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

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

3.IO流也有独占模式,也就是锁的概念,打开一个文件流以后,如果是以读的模式打开那就是共享锁,其它程序也可访问读取;如果以写的模式打开一般为独占,其它程序不能访问.具体表现情况还要看操作系统或者应用程序是如何处理的,因为底层的程序和高层的程序不一样。
作者: 韩新凯    时间: 2012-4-14 22:13
IO流是一定要关闭的不然会出现异常。
为了安全性考虑也要关闭流。
并且记得抛出异常,用myeclpse会提示你需要try和catch的地方。最好在finally中关闭流。




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