java输入输出

    技术2022-05-20  49

    1.标准输入

    使用system类out静态对象的各种print方法即可;

     

    2.标准输出

    (1)在system类in静态对象上生成scanner对象:

         scanner aScanner = new scanner(system.in);

     

    (2)从输入管道上读出各种对象

     

    string as = aScanner.next();//读出下一个字符串,如遇到“space”"enter"等停止读入

     

    string as = aScanner.nextLine();//读出下一个字符串,以“enter”结尾

     

    3.输入密码等

    使用控制台的readpasswd方法,这样输入的密码就不会被回显

     

    Console cons = System.console(); if (cons == null) { System.out.println("no cons"); } String username = cons.readLine("User name: "); char[] passwd = cons.readPassword("Password: %s");

    但是cosole不是所有虚拟机都会使用的,虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将 存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。 通过上面的文档说明可以看出,在使用 IDE 的情况下,是无法获取到Console实例的,原因在于在 IDE 的环境下,重新定向了标准输入和输出流,也是就是将系统控制台上的输入输出重定向到了 IDE 的控制台中。因此,在 IDE 中不能使用这个程序。即在eclipse中不能使用这个程序。

     

    注意:readPassword所取得的字符串还是密码字符串,并没有加密

     


    最新回复(0)