黑马程序员技术交流社区

标题: IO流之键盘录入小结 [打印本页]

作者: 奋发吧小白    时间: 2014-8-28 08:00
标题: IO流之键盘录入小结
  1. /*读取键盘录入
  2. 当录入一行数据,将该行数据打印
  3. */
  4. import java.io.*;
  5. class  ReadIn
  6. {
  7.         public static void main(String[] args) throws IOException
  8.         {
  9.                 InputStream in = System.in;
  10.                 StringBuilder sb = new StringBuilder();
  11.                 while (true)
  12.                 {
  13.                         int ch = in.read();
  14.                         if (ch=='\r')
  15.                                 continue;
  16.                         if(ch=='\n')
  17.                         {
  18.                                 String s = sb.toString();
  19.                                 if("over".equals(s))
  20.                                         break;
  21.                                 System.out.println(s.toUpperCase());
  22.                                 sb.delete(0,sb.length());
  23.                         }

  24.                         else
  25.                           sb.append((char)ch);
  26.                 }
  27.         }
  28. }

  29. 注意:键盘录入要么Ctrl+c或者定义一个结束标记  来结束录入
  30. 优化以后的:使用转换流
  31. /*
  32. 使用转换流
  33. */
  34. import java.io.*;
  35. class  TranStreamDemo
  36. {
  37.         public static void main(String[] args) throws IOException
  38.         {
  39.                 //获取键盘录入对象
  40.                 InputStream in = System.in;
  41.                 //将字节流对象转成字符流对象,使用转换流:InputStreamReader()
  42.                 InputStreamReader isr = new InputStreamReader(in);
  43.                 //为了提高效率,将字符流装进缓冲区。使用BufferedReader()
  44.                 BufferedReader bufr = new BufferedReader(isr);
  45.                 String len = null;
  46.                 while ((len = bufr.readLine())!=null)
  47.                 {
  48.                         if("over".equals(len))
  49.                                 break;
  50.                         System.out.println(len.toUpperCase());
  51.                 }
  52.                 bufr.close();
  53.         }
  54. }
复制代码







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