Frage

ich zur Zeit eine Implementierung eines Programms, wo ich im Eingang lesen Sie die Scanner-Klasse. Integer von Ganzzahl. Ich tue dies, indem Sie die Eingabedatei über die Kommandozeile kochend.

  

Java-Programm

muß ich durch die Verwendung eines Arguments auf der Kommandozeile Leitung, um die Eingabe zu vermeiden, dass die Datei in meinem Programm zu öffnen.

  

Java-Programm --file = input.txt

oder etwas ähnliches. Ich verstehe, dass ich das Befehlszeilenargument nicht analysieren, extrahiere den Text „input.txt“ und dann eine Klasse wie „BufferedReader“ verwenden oder etwas ähnliches, die Datei zu lesen.

Ich bin nur neugierig, ob es sich die Eingabedatei zu verwenden ist (keine Rohrleitungen) und immer noch die Scanner-Klasse verwenden. Welche Mittel ich würde nicht meine nextInt wechseln () und andere solche Anrufe.

War es hilfreich?

Lösung

Da Argumente sind einfach nicht evaulated sondern in der Mitte des einzigen Möglichkeit, ohne Arbeit zu Ihrer main(String[] args) Methode übergeben ist das Argument zu analysieren, extrahiert die Dateinamen input.txt und öffnen Sie sie als normale Datei-Stream.

Ich würde nicht sehen, wie es schließen soll, dass eine Datei geöffnet und als Rohr geleitet werden muss, ohne dass ein Rohr zu sein .. Sie leicht Scanner mit einem File Argumente, ohne sich um irgendetwas nutzen können ..

public Scanner(File source) throws FileNotFoundException
   Konstruiert einen neuer Scanner, die Werte gescannt aus der angegebenen Datei erzeugt. Bytes aus der Datei wird in Zeichen umgewandelt unter Verwendung der Standard-charset zugrunde liegenden Plattform.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top