黑马程序员技术交流社区

标题: console类和scanner类的区别 [打印本页]

作者: xu6148152    时间: 2014-1-14 09:12
标题: console类和scanner类的区别
我只知道这两个类都可以用来输入
Scanner s=new Scanner(System.in);
String txt1=s.nextLine();

Console c=new Console();
String txt2=c.readLine();

而Console可以用来读取密码,c.readword()
而Scanner()输入的字符都是显示。而Scanner类操作会比Console类

我想了解下它们还有什么别的具体区别?

作者: 高丽华    时间: 2014-1-14 09:38
两者都是 获取用户输入内容的;
第一种方法是使用Console类,它是通过系统对象访问。 Console类的ReadLine()方法从用户命令行得到输入,并返回一个字符串给调用程序。使用这种方法做的好处是,你不需要导入任何东西,因为系 统类是无处不在的可用的Java.lang包的一部分。使用Console方法的缺点是,它通常不会在像Ecliple的IDE中工 作。Console只能保证你直接在JVM上运行Java代码时工作,否则会被警告。

    System.console().readLine(); //输入,返回一个字符串

第二种方法是使用Scanner类,这个类在Java.io包中。使用Scanner类通常是一个两步的过程,尽管你可以隐藏起来并把它们推成一个,长的,串起的方法来调用:

    Scanner scanner =  new Scanner(System.in);

    String input   =  scanner.next();

    /* or String input   =  (new Scanner(System.in)).next(); */

   与Console类不同,使用Scanner类在命令行和标准的IDE,如Eclipse,都能同样很好的工作。
什么是IDE ?
IDE(Integrated Development Environment),集成开发环境。





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