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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top