Salut, je suis nouveau sur Java
et je voudrais savoir quel est le meilleur choix pour lire une entrée utilisateur dans la console, pour autant que je sache, il y a 3 façons de le faire:
Console console = System.console();
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
Scanner reader = new Scanner(System.in);
Lequel devrais-je choisir? Pourquoi celui-là et pas les autres?
Les méthodes de lecture des nombres sont très utiles. Les exceptions ne sont pas vérifiées, vous n'avez donc pas à écrire de blocs try/catch standard.
à côté de ceux-ci, vous pouvez également utiliser datainputstream etc.
Maintenant BufferedReader Lire du texte à partir d'un flux d'entrée de caractères, en tamponnant les caractères de manière à permettre une lecture efficace des caractères, des tableaux et des lignes. La taille du tampon peut être spécifiée ou la taille par défaut peut être utilisée. La valeur par défaut est suffisamment grande pour la plupart des applications.
Où Scanner est un simple scanner de texte qui peut analyser des types et des chaînes primitifs à l'aide d'expressions régulières. Un scanner divise son entrée en jetons à l'aide d'un modèle de délimiteur, qui correspond par défaut aux espaces blancs. Les jetons résultants peuvent ensuite être convertis en valeurs de différents types en utilisant les différentes méthodes suivantes. Le scanner est utilisé pour analyser les jetons à partir du contenu du flux tandis que BufferedReader lit simplement le flux et ne fait aucune analyse spéciale.
vérifiez également le lien ci-dessous, il vous aidera sûrement .......
La classe console essaie d'implémenter une manière indépendante de la plate-forme de gérer avec l'entrée de la console. Tous les OS ont une console de quelque manière que ce soit, mais ils sont différents dans la mise en œuvre. La classe Console vous donne donc une Java platfrom classe d'exécution indépendante pour accéder à des choses comme la saisie de mot de passe, etc.
Le scanner est utilisé pour analyser les jetons à partir du contenu du flux tandis que BufferedReader lit simplement le flux et ne fait aucune analyse spéciale.