Java Tutorial/Development/Console

Материал из Java эксперт
Перейти к: навигация, поиск

Console based login

   <source lang="java">

import java.io.Console; public class Login {

 public static void main(String[] args) throws Exception {
   Console console = System.console();
   String username = console.readLine("Username:");
   char[] pwd = console.readPassword("Password:");
   System.out.println("Username = " + username);
   System.out.println("Password = " + new String(pwd));
   username = "";
   for (int i = 0; i < pwd.length; i++)
     pwd[i] = 0;
 }

}</source>





Console.ReadLine

   <source lang="java">

import java.io.Console; import java.io.IOException; import java.io.ObjectInputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.text.MessageFormat; import java.util.Date; import java.util.Locale; public class DateServer {

 public final static int PORT = 5000;
 private ServerSocket ss;
 public DateServer(int port) {
   try {
     ss = new ServerSocket(port);
   } catch (IOException ioe) {
     System.err.println("Unable to create server socket: " + ioe);
     System.exit(1);
   }
 }
 private void runServer() {
   Console console = System.console();
   Handler h = new Handler(ss);
   h.start();
   while (true) {
     String cmd = console.readLine(">");
     if (cmd == null)
       continue;
     if (cmd.equals("exit"))
       System.exit(0);
   }
 }
 public static void main(String[] args) {
   new DateServer(PORT).runServer();
 }

} class Handler extends Thread {

 private ServerSocket ss;
 Handler(ServerSocket ss) {
   this.ss = ss;
 }
 public void run() {
   while (true) {
     try {
       Socket s = ss.accept();
       ObjectInputStream ois;
       ois = new ObjectInputStream(s.getInputStream());
       Locale l = (Locale) ois.readObject();
       PrintWriter pw;
       pw = new PrintWriter(s.getOutputStream());
       MessageFormat mf;
       mf = new MessageFormat("The date is {0, date, long}", l);
       Object[] args = { new Date() };
       pw.println(mf.format(args));
       pw.close();
     } catch (Exception e) {
       System.err.println(e);
     }
   }
 }

}</source>





Masking a password with the Console class

   <source lang="java">

import java.io.Console; public class Main {

 public static void main(String[] args) {
   Console console = System.console();
   char passwordArray[] = console.readPassword("Enter your secret password: ");
   console.printf("Password entered was: %s%n", new String(passwordArray));
 }

}</source>





Printing text with the Console class

   <source lang="java">

import java.io.Console; public class Main {

 public static void main(String[] args) {
   Console console = System.console();
   console.printf("%s%n", "this is a test");
 }

}</source>





Use Console class to read user input?

   <source lang="java">

import java.io.Console; import java.util.Arrays; public class Main {

 public static void main(String[] args) {
   Console console = System.console();
   String username = console.readLine("Username: ");
   char[] password = console.readPassword("Password: ");
   if (username.equals("admin") && String.valueOf(password).equals("secret")) {
     console.printf("Welcome to Java Application %1$s.\n", username);
     Arrays.fill(password, " ");
   } else {
     console.printf("Invalid username or password.\n");
   }
 }

}</source>