Question

J'ai actuellement une mise en œuvre d'un programme où je l'ai lu dans l'entrée en utilisant la classe du scanner. Nombre entier de nombre entier. Je le fais en canalisant le fichier d'entrée via la ligne de commande.

  

programme java

Je dois éviter la tuyauterie de l'entrée en utilisant un argument sur la ligne de commande pour ouvrir le fichier dans mon programme.

  

programme java --file = input.txt

ou quelque chose de similaire. Je comprends que je pourrais analyser l'argument de ligne de commande, extraire le texte « input.txt », puis utiliser une classe comme « BufferedReader » ou quelque chose de similaire pour lire le fichier.

Je suis juste curieux de savoir s'il est loin d'utiliser le fichier d'entrée (pas de tuyauterie) et utilisez toujours la classe du scanner. Qui signifie que je ne voudrais pas changer sur mon nextInt () et d'autres appels.

Était-ce utile?

La solution

Étant donné que les arguments sont tout simplement pas evaulated mais passés à votre méthode main(String[] args) sans travail au milieu de votre seule option est d'analyser l'argument, extraire le nom du fichier input.txt et l'ouvrir comme un flux de fichier normal.

Je ne vois pas comment il devrait en déduire qu'un fichier doit être ouvert et passé comme un tuyau sans être un tuyau .. vous pouvez facilement utiliser Scanner avec un argument File sans se soucier de quoi que ce soit ..

public Scanner(File source) throws FileNotFoundException
  

construit un nouveau scanner qui produit des valeurs numérisées à partir du fichier spécifié. Octets du fichier sont convertis en caractères à l'aide de charset par défaut de la plate-forme sous-jacente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top