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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黄鸿达 于 2013-2-15 23:19 编辑
  1. import java.util.*;
  2. import java.io.*;
  3. public class abcd {

  4.         public static void main(String[] args) throws IOException {
  5.                 Properties pro=System.getProperties();
  6.                 pro.list(new PrintStream("D:\\系统信.txt"));
  7.                
  8.         }

  9. }
复制代码
这个如果要关闭上述程序这个new PrintStream("D:\\系统信.txt")这个对象,一定要在外面PrintStream ps=new PrintStream("D:\\系统信.txt"),然后再ps.close();才可以关闭吗?

因为我听19天最后一课,毕老师说这个关闭流对象是不是简单,我不知道他是说像我上面所说那样,还是说匿名对象可以不赋值给变量,就关闭了那样。

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1

查看全部评分

1 个回复

倒序浏览
一般的流对象都是要关闭资源的,而关闭资源就要调用关流的close方法,你上述的这个代码中的流并没有关闭,你可以再看下视频教程,毕老师只是为了简单书写演示而采用的的匿名流对象,而且在演示时有声明此流未关。若需要继续使用这个匿名流对象,就得给这个流对象起个名字了,也就是说要重复调用时,就不能使用匿名流对象了。当然,个别特殊的流对象是不需要关闭资源的,如ByteArrayStream,和管道流等.所以此处一定要定义引用变量来关闭流资源。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马