IntelliJ IDEA: java Ausführen mit args aus der externen Datei
Möchte ich ausführen einer java-Klasse mit args als Datei zur Verfügung gestellt.
Auf shell, ich kann
java SomeClass < 1.txt
Gibt es eine Entsprechung für diese auf intellij und/oder gradle.
Ich habe versucht, auf IntelliJ IDEE -> Bearbeiten von Konfigurationen. Aber, das argument ist nicht überholt zu werden.
InformationsquelleAutor l a s | 2017-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
IntelliJ IDEA unterstützt es nicht im moment:
Können Sie passen Sie den code so, dass er akzeptiert den Dateinamen als parameter und öffnet Sie zum Lesen. Oder erstellen Sie eine wrapper-Klasse, die neu definieren wird
System.in
, dann starten Sie Ihren ursprünglichenMain
Klasse:Stellen Sie sicher, dass Sie entweder geben Sie den vollständigen Pfad zu der Datei oder um das Arbeitsverzeichnis zu ändern in IntelliJ IDEA Run/Debug-Konfiguration, um die Lage des
1.txt
.Nun kann man
MainWrapper
- Klasse anstelle derMain
Klasse, und es wird genauso funktionieren wie läuftWenn Sie brauchen, um zu testen, mit unterschiedlichen Dateinamen, ersetzen
new File("1.txt")
mitargs[0]
und übergeben Sie den Namen der Datei, in derMainWrapper
Run/Debug-Konfiguration Programm Argumente Feld.warum erstellen Sie eine neue wrapper-Klasse? Nur die Verwendung von System.setIn() in der vorhandenen main.
so dass Sie nicht haben, ändern Sie den vorhandenen Verhalten der Anwendung.
InformationsquelleAutor CrazyCoder
Können Sie tatsächlich tun Sie das jetzt, ab version 2018.3:
- Wählen Sie "Run/Debug configurations"
- Setzen Sie den Pfad zur Eingabe-Datei unter "Umleiten von Eingabe von" - Feld
InformationsquelleAutor coffman21
Den
< 1.txt
syntax bedeutet, dass die Befehls-Prozessor sorgt dafür, dass die standard-Eingabe (System.in
in Java) liefert den Inhalt der 1.txt Datei. Die typischen Java-launcher dies nicht unterstützen.Dies können Sie emulieren, indem Sie manuell rewire
System.in
aus der Datei Lesen Sie mit Ihren eigenen Java-snippet um dies zu tun.InformationsquelleAutor Thorbjørn Ravn Andersen