Java: Mit der Klasse Scanner Eingabe aus einer Datei ohne Verrohrung lesen
-
28-09-2019 - |
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.
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.