黑马程序员技术交流社区

标题: PrintStream如何一行键入? [打印本页]

作者: huangxuanheng    时间: 2014-8-3 20:13
标题: PrintStream如何一行键入?
PrintStream如何一行键入?我想从键盘上录入一行字符,然后按回车键,就显示这行字符串,代码应该怎么样呢?

作者: GoodBoy123    时间: 2014-8-3 23:01
PrintStream是打印流不能用来从键盘进进接收。只能对外输出,到控制台,或是文件。。。。
如果想从键盘接收一行字符串的话可以这样
  1. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  2.                 String str = br.readLine();
  3.                 PrintStream ps = new PrintStream(System.out);
  4.                 ps.println(str);
复制代码

作者: GoodBoy123    时间: 2014-8-3 23:03
更简单的接收后又输出的话可以这样子
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;

  4. public class Test
  5. {
  6.         public static void main(String[] args) throws IOException
  7.         {
  8.                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  9.                 System.out.println(br.readLine());               
  10.         }
  11. }
  12. 两行代码搞定
复制代码

作者: GoodBoy123    时间: 2014-8-3 23:08
但开发的时侯得用这种要用try-catch
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;

  4. public class Test
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 BufferedReader br = null;
  9.                 try
  10.                 {
  11.                         br = new BufferedReader(new InputStreamReader(System.in));
  12.                         System.out.println(br.readLine());
  13.                 }
  14.                 catch(IOException e)
  15.                 {
  16.                         System.out.println(e);
  17.                 }
  18.                 finally
  19.                 {
  20.                         try
  21.                         {
  22.                                 if(br != null)
  23.                                         br.close();
  24.                         }
  25.                         catch(IOException e)
  26.                         {
  27.                                 System.out.println(e);
  28.                         }
  29.                 }
  30.         }
  31. }
复制代码
还有什么问题吗?
作者: 怀念黑海岸    时间: 2014-8-3 23:26
通过今天的学习,个人觉得哈,其实这个类就是为其他流提供一个能将数据打印在控制台的功能的类。不用你使用什么System.out.println()语句了。
作者: huangxuanheng    时间: 2014-8-4 12:42
哈哈,没有了,谢谢
作者: huangxuanheng    时间: 2014-8-16 22:59
GoodBoy123 发表于 2014-8-3 23:03
更简单的接收后又输出的话可以这样子

哦,原来是结合了转换流啊
作者: huangxuanheng    时间: 2014-8-16 23:02
GoodBoy123 发表于 2014-8-3 23:01
PrintStream是打印流不能用来从键盘进进接收。只能对外输出,到控制台,或是文件。。。。
如果想从键盘接收 ...

哦,是打印流啊,那接收键盘的应该就是PrintWriter难道?




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