锁定老帖子 主题:Thread,Socket从头开始
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-15
sample而已,实际项目中无法使用
|
|
返回顶楼 | |
发表时间:2010-12-15
发现楼主都是用这种形式创建流的,弱弱的问一句,这样会不会导致流没有关闭呢?
java.io.BufferedReader reader = new BufferedReader( [b]new java.io.InputStreamReader[/b]( s.getInputStream())); |
|
返回顶楼 | |
发表时间:2010-12-15
例如上面[b][/b]直接的部分,只new出来了,但colse过吧。。我也不知道这样子会不会不好,呵呵
|
|
返回顶楼 | |
发表时间:2010-12-16
yqsshr 写道 例如上面[b][/b]直接的部分,只new出来了,但colse过吧。。我也不知道这样子会不会不好,呵呵
我认为可以关闭 因为下面有 reader.close() 而 BufferedReader 的close方法是这样实现的: public void close() throws IOException { synchronized (lock) { if (in == null) return; in.close(); in = null; cb = null; } } 你看,实际上还是调用了in的close方法,所以会调用到最里面的那个对象( new java.io.InputStreamReader) 的close方法 所以可以关闭掉,楼下继续! |
|
返回顶楼 | |
发表时间:2010-12-16
yqsshr 写道 发现楼主都是用这种形式创建流的,弱弱的问一句,这样会不会导致流没有关闭呢?
java.io.BufferedReader reader = new BufferedReader( [b]new java.io.InputStreamReader[/b]( s.getInputStream())); 不会有问题的,外层的关闭了会把里面的一起关闭。 |
|
返回顶楼 | |