Java Console est une classe présente dans le package java.io introduit dans JDK 1.6 pour lancer le périphérique console qui lit les entrées basées sur les caractères. Cette classe est utilisée pour lire les entrées de l’utilisateur et les réécrire sur la console. Ceci est préféré au Reader et Writer tamponnés pour les 2 raisons suivantes :-
Syntaxe :
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
public final class Console extends Object implements Flushable
La classe Console est utilisée pour lire les entrées de la console ou y écrire la sortie. Étant donné que la classe Console n’a pas de constructeur et est instanciée à l’aide de la classe System, cela la rend plus facile à utiliser. En outre, la classe Console lit les entrées de la console de manière plus sécurisée, car elle aide l'utilisateur à saisir des entrées telles que des informations d'identification de sécurité afin qu'elles ne soient pas affichées à l'écran. Ainsi, la classe Console est très utile au cas où l'on aurait besoin de travailler avec des informations d'identification de sécurité.
Vous trouverez ci-dessous les méthodes de la console Java :
1. public PrintWriterwriter() : Cette méthode est utilisée pour récupérer une instance unique de PrintWriter associée à l'objet de la console en cours d'exécution. Aucun paramètre n'est requis dans cette méthode.
2. public void flush() : la classe Console fournit cette méthode pour vider l'instance de console. Il veille également à imprimer immédiatement la sortie si elle est présente dans le tampon. Aucun paramètre n'est requis pour appeler cette fonction.
3. public Reader reader() : Cette méthode donne une instance unique de la classe Reader associée à la console actuelle. Une instance de la classe Reader est donnée en entrée pour lire les caractères de la console.
4. format de console public (StringformatVar, Object… age) : Cette méthode permet d'envoyer la chaîne formatée donnée sur le flux de sortie de la console en utilisant les chaînes de format et les arguments spécifiés.
Paramètres :
L'instance de console est envoyée en sortie par cette fonction avec une chaîne formatée imprimée. Cette méthode renvoie IllegalFormatException au cas où le format spécifié n'aurait pas la syntaxe correcte.
5. public Console printf( StringformatVar, Object … agrs): Cette méthode permet d'imprimer la chaîne formatée avec les arguments de format spécifiés transmis sur l'écran de la console.
L'instance de console est envoyée en sortie par cette fonction avec une chaîne formatée imprimée. Cette méthode renvoie IllegalFormatException au cas où le format spécifié n'aurait pas la syntaxe correcte.
6. public String readLine( StringformatVar, Object… age) : Cette méthode est utilisée pour afficher une invite formatée à l'écran et lit une entrée sur une seule ligne de l'utilisateur.
La seule ligne qui a été lue par l'invite de la console, à l'exclusion des caractères de fin de ligne, est renvoyée par la méthode. Si rien n’est saisi, null est renvoyé par cette méthode. Cette méthode renvoie IllegalFormatException au cas où le format spécifié n'aurait pas la syntaxe correcte. De plus, IOError se produit pour toute erreur d’E/S.
7. public String readLine() : Cette méthode est utilisée pour lire une seule ligne entrée par l'utilisateur depuis la console, à l'exclusion des caractères d'échappement s'ils sont transmis.
Cette String est renvoyée par la méthode ou null si la fin de la ligne est atteinte. Aucun paramètre n'est requis dans cette méthode car aucune invite ne doit être affichée. Lors de l'utilisation de cette méthode, IOERROR se produit pour toute erreur d'E/S.
8. public char[] readPassword( String formatVar, Object… age): Cette méthode est utilisée pour afficher une invite formatée à l'écran qui lit un caractère en mode sécurisé de sorte qu'il ne s'affiche pas à l'écran pendant que nous tapons.
Character Array containing the password is sent as output by this function or null in case the end-of-line is reached. The returned character array excludes line-termination characters. This method throws IllegalFormatException in case the format specified does not have the correct syntax. This method IOERROR occurs for any I/O errors.
9. public char[] readPassword(): This method is used to read password string from the console in a secure mode without displaying any prompt. There are no parameters that need to be passed. The string of characters containing the password is returned excluding the line-termination characters or null in case the end-of-line is reached.
Code:
import java.io.Console; public class ConsolePrac { public static void main(String[] args) { Console consoleObj = null; try { consoleObj = System.console(); if (consoleObj != null) { String person = consoleObj.readLine("Please enter your Name: "); System.out.println("Welcome " + person); System.out.println("Please check the below result"); String fmt = "%2$8s %1$10s %3$3s%n"; consoleObj.format(fmt, "Name", "RollNo", "MArks"); consoleObj.format(fmt, "-----", "-----", "-----"); consoleObj.format(fmt, "Raj", "1212", "75"); consoleObj.printf(fmt, "Meeta", "1213", "67"); consoleObj.printf(fmt, "Sanjana", "1215", "89"); consoleObj.printf(fmt, "Pawan", "1214", "80"); } consoleObj.flush(); } catch(Exception ex) { ex.printStackTrace(); } } }
Output:
Code:
import java.io.Console import java.util.Scanner; import java.io.PrintWriter; public class ConsolePrac { public static void main(String[] args) { Console consoleObj = null; PrintWriter PWObj = null; String fmt1 = "%1$6s %2$5s %3$10s%n"; String fmt2 = "%1$8s %2$10s %3$5s %4$5s %5$10s%n"; Scanner scanObj = null; try { consoleObj = System.console(); if (consoleObj != null) { System.out.print("Please enter your Name: "); scanObj = new Scanner(consoleObj.reader()); String person = scanObj.next(); String empID = consoleObj.readLine(fmt1, "Please","enter","EmployeeID: "); char[] pwd = consoleObj.readPassword("Please enter your Password: "); char[] ans1 = consoleObj.readPassword(fmt2,"Security","question- ","Enter","your","Mothers'name: "); PWObj = consoleObj.writer(); PWObj.println("Welcome "+person +" "+empID); } } catch(Exception ex) { ex.printStackTrace(); } } }
Output:
Note: The format string’s arguments must be the same as the String to be displayed. Please see below 2 scenarios:Case 1: The arguments are more than specified in the format string.
String fmt= "%1$30s %2$10s" String empID = consoleObj.readLine(fmt1, "Please","enter","your","EmployeeID: ");
In the above case, only the first 2 strings will be printed, and others are ignored.
Case 2: In case the arguments specified are less than a missing argument exception is thrown.
String fmt= "%1$30s %2$10s" ,"%3$10s%n" String empID = consoleObj.readLine(fmt1, "Please","enter”);
Console class is one of the great utility introduced with JDK 1.6 that helps to read the input from a console instance in a secure manner. It also provides methods to write output to the console screen.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!