Java: Uso della classe Scanner per leggere l'input da un file senza tubazioni
-
28-09-2019 - |
Domanda
Al momento ho un'implementazione di un programma in cui ho letto in ingresso utilizzando la classe Scanner. Numero intero per intero. Faccio questo reindirizzando il file di input tramite la riga di comando.
programma java
Ho bisogno di evitare di tubazioni di ingresso utilizzando un argomento sulla riga di comando per aprire il file nel mio programma.
programma Java --file = input.txt
o qualcosa di simile. Capisco che ho potuto analizzare l'argomento della riga di comando, estrarre il testo "input.txt" e poi usare una classe come "BufferedReader" o qualcosa di simile per leggere il file.
Sono solo curioso di sapere se v'è via per utilizzare il file di input (senza tubazioni) e ancora utilizzare la classe Scanner. Il che significa che non avrei dovuto cambiare il mio nextInt () e di altri tali chiamate.
Soluzione
Dal momento che gli argomenti non sono solo evaulated ma passati al metodo main(String[] args)
senza alcun lavoro in mezzo l'unica opzione è quella di analizzare l'argomento, estrarre il input.txt
nome del file e aprirlo come un flusso di file normale.
Non sarebbe vedere come si dovrebbe dedurre che un file deve essere aperto e passato come un tubo, senza essere un tubo .. è possibile utilizzare facilmente Scanner
con un argomento File
senza preoccuparsi di nulla ..
public Scanner(File source) throws FileNotFoundException
Costruisce un nuovo scanner che produce valori esaminati dal file specificato. Byte dal file vengono convertiti in caratteri utilizzando charset di default della piattaforma sottostante.