Exemple de programme :
1. Utilisez le scanner pour lire des données entières ou flottantes à partir du clavier
2. Utilisez BufferedReader pour lire une chaîne à partir du clavier et écrivez-la dans le fichier abc.txt
Description de la classe Scanner JDK1.5
Scanner est une nouvelle classe ajoutée dans SDK1.5, mais vous pouvez utiliser cette classe pour créer un objet.
Lecteur de scanner = nouveau scanner (System.in);
Ensuite, l'objet lecteur appelle les méthodes (fonctions) suivantes pour lire différents types de données saisis par l'utilisateur sur la ligne de commande :
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
Utilisez la méthode nextLine() pour saisir une ligne pouvant contenir des espaces. Si vous lisez un mot, vous pouvez appeler la méthode .next().
3. La différence entre Scanner et BufferedReader
Lors de la saisie de données dans un programme en mode ligne de commande, nous pouvons utiliser l'objet chaîne d'entrée standard System.in. Cependant, nous ne l'utilisons pas souvent directement car la méthode de lecture fournie par System.in ne peut lire qu'un mot à la fois. section de données, et ce que nous utilisons habituellement est de lire une chaîne ou un nombre, donc les fonctions fournies par la méthode read ne nous sont pas d'une grande utilité.
Dans Java SE 6, vous pouvez utiliser la classe Scanner pour obtenir les entrées de l'utilisateur. La classe Scanner se trouve dans le package java.util. Si vous souhaitez utiliser Scanner pour obtenir les entrées de l'utilisateur, vous devez ajouter l'importation java.util.Scanner ; instruction de .import La fonction consiste à indiquer au compilateur que vous utiliserez la classe Scanner dans le package java.util.
Regardons un exemple :
Exécutez le programme ci-dessus et vous verrez que la chaîne que vous avez saisie sera affichée telle qu'elle est ci-dessous.
Jetons un coup d'œil à la signification de chaque instruction de ce programme :
new signifie créer un objet. Dans le programme, new signifie créer une analyse d'objet de la classe Scanner. Mais lors de la création d'un objet de la classe Scanner, vous devez utiliser System.in comme paramètre Scanner. in Le supporteur de l'objet, System.in, obtient le contenu saisi par l'utilisateur et le transmet à Scanner pour un certain traitement.
Plusieurs méthodes sont fournies dans la classe Scanner :
next() : récupère une chaîne ;
nextInt() : Convertit la chaîne obtenue en un entier de type int ;
nextFloat() : convertit la chaîne obtenue en type float ;
nextBoolean() : Convertit la chaîne obtenue en type booléen ;
Il est très pratique d'utiliser le scanner pour obtenir une entrée utilisateur, mais le scanner obtient une entrée basée sur le caractère espace, y compris la touche espace, la touche Tab et la touche Entrée. Lorsque l'une de ces touches est enfoncée, le scanner reviendra à l'entrée suivante. vous entrez Lorsqu'il y a des espaces au milieu du contenu, l'utilisation de Scanner ne peut évidemment pas obtenir complètement la chaîne que vous saisissez. À ce stade, nous pouvons envisager d'utiliser la classe BufferedReader pour obtenir l'entrée. En fait, dans Java SE. Dans les versions 1.4 et antérieures, la méthode Scanner n'est pas encore fournie et nous utilisons également BufferReader lors de l'obtention d'une entrée.
La classe BufferedReader se trouve dans le package java.io, donc pour utiliser cette classe, vous devez introduire le package java.io : import java.io.BufferedReader.
La méthode readLine() utilisant l'objet BufferedReader doit gérer l'exception java.io.IOException (Exception).
Utiliser BufferedReader pour obtenir des entrées est beaucoup plus compliqué à comprendre. Mais cette méthode est fixe, il suffit de suivre la même méthode avant chaque utilisation.
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
Texte de chaîne = buffer.readLine();
La méthode readLine() renverra tous les caractères saisis par l'utilisateur avant d'appuyer sur la touche Entrée, à l'exclusion du dernier caractère renvoyé par la touche Entrée.
L’exemple de programme complet est le suivant :
}
4. Comme indiqué dans le programme suivant : class StringTest
Entrez le contenu après l'instruction d'exécution : java + nom de la classe, et il sera reçu par args.
Parce que args reçoit des paramètres de ligne de commande.