Maison > Java > javaDidacticiel > Dois-je fermer un scanner lié à System.in ?

Dois-je fermer un scanner lié à System.in ?

Linda Hamilton
Libérer: 2024-12-20 18:27:20
original
912 Les gens l'ont consulté

Should I Close a Scanner Linked to System.in?

Fermer un scanner lié à System.in

Fermer un scanner lié à System.in peut être un dilemme. Bien qu'il soit recommandé de fermer les ressources ouvertes, le faire avec un scanner connecté à System.in ferme également System.in lui-même. Cela soulève la question : existe-t-il un moyen de fermer le scanner sans affecter System.in ?

Solution

La solution la plus simple est de s'abstenir de fermer le scanner si vous n'avez pas l'intention de fermer le flux sous-jacent. Dans la plupart des cas, il est conseillé de créer un seul scanner qui dessert l'ensemble du programme. Cela élimine le besoin de le créer et de le fermer à plusieurs reprises.

Si pour une raison quelconque vous devez fermer le scanner, une option consiste à créer une nouvelle instance du scanner avec le même flux sous-jacent. Cela sépare les deux entités et vous permet de fermer le Scanner sans affecter System.in.

Voici un exemple :

Scanner scanner = new Scanner(System.in);
// Use the scanner as needed...

// Create a new scanner with the same underlying stream.
Scanner newScanner = new Scanner(System.in);

// Close the first scanner.
scanner.close();

// Continue using the new scanner.
newScanner.nextInt();

// Close the second scanner.
newScanner.close();
Copier après la connexion

Cette méthode garantit que System.in ne reste pas affecté tout en vous permettant de fermez le scanner d'origine.

Il est important de noter que la création de plusieurs instances de scanner peut avoir des implications sur les performances. Si les performances sont un problème, il est préférable d'utiliser un seul scanner tout au long de la durée de vie du programme.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal