Console类——方便向控制台读取与写入内容

Console类

   JDK6将Console类添加到java.io包中,该类用于从控制台读取内容以及向控制台写入内容,并且实现了Flushable接口。Console类的主要目的是提供方便因为该类的大部分功能都可以通过System.in和System.out得到。然而。然而该类的使用可以简化某些类型的控制台交互,特别是当从控制台读取字符串时。

   Console没有提供构造函数。相反,该类通过调用System.console()方法获取Console对象,该方法如下所示:

  static Console console()

  如果控制台可用,就返回对控制台的引用;否则返回null。并不是在所有情况下控制台都是可用的。因此,如果返回null,就不能进行控制台I/O

  它的类的一些方法如下所示:

Console类——方便向控制台读取与写入内容_第1张图片

Console类——方便向控制台读取与写入内容_第2张图片

还应当注意readPassword()方法,该方法允许读取密码而不显示键入的内容

下面是有关的几个具体实例:

import java.io.*;
public class ConsoleDemo {
   public static void main(String[] args){
	   String str;
	   Console con;
	   con=System.console();
	   if(con==null) {
		   System.out.println("获取Console对象失败");
		   return;
	   }
	   
	   str=con.readLine("Enter a string: ");
	   con.printf("Here is your string: %s\n",str);
           con.format("Here is your string: %s\n",str);
           
           System.out.println("Input the Password:");
           char c[]=con.readPassword();
           char c1[]=con.readPassword("请再次输入密码:");
           String str1=String.valueOf(c);
           String str2=String.valueOf(c1);
           if(str1.equals(str2))System.out.println("密码正确");
           else {System.out.println("密码不一致,请再次输入");
             return;}
          for(char x:c)
               System.out.print(x);
           System.out.println();
           
           PrintWriter pw=con.writer();
           pw.printf(str1);
         
   }
}

Dos运行结果如下:


你可能感兴趣的:(Console类——方便向控制台读取与写入内容)