E / A-Umleitung in Eclipse?

8

Ist es möglich, die E / A-Umleitung in Eclipse zu verwenden?

Ich möchte die Standardeingabe / -ausgabe in der Befehlszeile wie java MyProgram <input.txt >output.txt umleiten, aber ich kann nicht scheinen, dass es in Eclipse funktioniert. Ich habe versucht, die & lt; s als Teil der Programmargumente aufzunehmen, was ignoriert wurde, und auch in den VM-Argumenten, die gerade einen Fehler der Klasse nicht gefunden haben. Wie kann ich das tun?

    
Simonw 28.04.2009, 18:24
quelle

2 Antworten

4

Um beide wirklich umzulenken, ist es am einfachsten, Ihr Programm als externes Skript zu definieren

%Vor%

(passen Sie die Anzahl der Parameter an Ihr spezielles Programm an)

Klicken Sie im Menü Ausführen auf 'Externe Tools ... / Dialogfeld Externe Tools öffnen' und definieren Sie eine externe Startkonfiguration, in der Sie sowohl die Argumente als auch die Eingabe- und Ausgabedatei angeben.

Es ist jedoch keine ideale Lösung, da Sie nicht direkt Ihren Code debuggen können (mit einer Debug-Launcher-Konfiguration).
Stattdessen müssen Sie es remote debuggen (fügen Sie ' -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 ' in Ihrem generischen Java-Launcher-Skript hinzu)

Nachdem Sie Ihr externes Tool gestartet haben, starten Sie eine Remote-Debugsitzung über den Abschnitt "Debug-Startprogramm" Remote-Java-Anwendung "":

    
VonC 28.04.2009, 18:35
quelle
12

Sie können die Ausgabe im Dialogfeld Ausführen, Registerkarte Allgemein, Abschnitt "Standardeingabe und -ausgabe" umleiten.

Es sieht jedoch nicht so aus, als könnten Sie Eingabe umleiten, soweit ich das beurteilen kann (und bis zu diese Stack-Überlauf-Frage kann das auch sagen).

Wie viel Kontrolle haben Sie über Ihre Anwendung? Wenn es Ihnen nichts ausmacht, ein Hack zu hacken, könnten Sie ein paar Eigenschaften oder Befehlszeilenargumente haben, um die entsprechenden Dateien zu ermitteln, und verwenden Sie System.setOut und System.setIn entsprechend. Es ist aber ein bisschen wie ein Hack ...

    
Jon Skeet 28.04.2009 18:30
quelle

Tags und Links