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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昨天在学习从键盘录入字节流数据,打印到控制台。
  1. import java.io.IOException;
  2. import java.io.InputStream;

  3. class ReadKeyDemo
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 //获取键盘读取流
  8.                 InputStream is = System.in;
  9.                
  10.                 //创建容易,接收字符流
  11.                 StringBuilder sb = new StringBuilder();

  12.                 int ch = 0;//定义变量记录读取到的字节,并循环获取
  13.                 while ((ch=is.read())!=-1)
  14.                 {
  15.                         //在存储之前需要判断是否是换行标记,是的话不存储
  16.                         if (ch=='\r')
  17.                         {
  18.                                 continue;
  19.                         }
  20.                         if (ch=='\n')
  21.                         {
  22.                                 String temp = sb.toString();
  23.                                 if ("over".equals(temp))
  24.                                 {
  25.                                         break;
  26.                                 }
  27.                                 System.out.println(temp.toUpperCase());
  28.                                 sb.delete(0,sb.length());
  29.                         }
  30.                         else
  31.                                 sb.append((char)ch);//将读取到的字节存储到StringBuilder中
  32.                 }
  33.         }
  34. }
复制代码

代码中没有关闭读写流的is.close();本人查看了其他几个资料。有的有,有的没有,不知道具体怎么解释,个人认为是键盘录入,只要停止录入或退出了就相当于关闭了,就没必要写了,不知道正确与否?请赐教

11 个回复

正序浏览
xclyijin 发表于 2015-7-24 09:33
我也觉得应该关流,用完就关比较安全。

是的,关了严谨
回复 使用道具 举报
一城一世界 发表于 2015-7-24 09:31
键盘输入,使用完要关闭吧

最近看了,确实需要关闭
回复 使用道具 举报
我也觉得应该关流,用完就关比较安全。
回复 使用道具 举报
一城一世界 来自手机 中级黑马 2015-7-24 09:31:49
9#
键盘输入,使用完要关闭吧
回复 使用道具 举报

那你觉得DataInputStream 和DateOutputStream.
回复 使用道具 举报
只要是资源,使用完就必须关闭!我记得在学习基础视频中,这是讲过的
回复 使用道具 举报
必须关流,
回复 使用道具 举报
gaoming971366 发表于 2015-7-22 11:20
我觉得最好关上,这样节省了内存空间,虽然gc机制会自动清理垃圾

关了肯定万事大吉,主要是当时输入流为键盘,输出流为文件,代码只关闭了输出流,没有关闭输入流。所以觉得键盘输入应该不用关闭流资源。
回复 使用道具 举报
LGQ 发表于 2015-7-22 11:14
我觉得关闭一下还是好的,本人刚学的,也不是太会,但是我认为在一个练习小程序里可能用不到关闭,以后做一 ...

关了肯定万事大吉,主要是当时输入流为键盘,输出流为文件,代码只关闭了输出流,没有关闭输入流。所以觉得键盘输入应该不用关闭流资源。
回复 使用道具 举报
我觉得最好关上,这样节省了内存空间,虽然gc机制会自动清理垃圾
回复 使用道具 举报
我觉得关闭一下还是好的,本人刚学的,也不是太会,但是我认为在一个练习小程序里可能用不到关闭,以后做一些大一点的东西可能会用到,还是尽早习惯严谨一点的编程模式,以上纯属菜鸟回答,要是牵扯到什么逻辑性语法的错误请指出
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马