Heim > Java > javaLernprogramm > Hauptteil

Warum leitet die Runtime-Exec()-Methode von Java die Ausgabe nicht um?

Susan Sarandon
Freigeben: 2024-10-24 08:34:29
Original
710 Leute haben es durchsucht

Why is Java's Runtime Exec() Method Not Redirecting Output?

Die Runtime Exec()-Methode von Java leitet die Ausgabe nicht um

Beim Versuch, die Ausgabe eines mit Runtime.getRuntime() ausgeführten Skripts umzuleiten. exec() können Benutzer auf ein Problem stoßen, bei dem die Umleitung ineffektiv ist und keine Ausgabedatei generiert wird.

Um dieses Problem zu beheben, sollte ProcessBuilder für die Umleitung verwendet werden. Der folgende Codeausschnitt demonstriert den richtigen Ansatz:

<code class="java">ProcessBuilder builder = new ProcessBuilder("sh", "somescript.sh");
builder.redirectOutput(new File("out.txt"));
builder.redirectError(new File("out.txt"));
Process p = builder.start(); // may throw IOException</code>
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass sowohl die Standardausgabe als auch die Fehlerausgabe des Skripts in die angegebene Datei umgeleitet werden, wodurch sichergestellt wird, dass die Ausgabe des Skripts erfolgreich erfasst wird.

Das obige ist der detaillierte Inhalt vonWarum leitet die Runtime-Exec()-Methode von Java die Ausgabe nicht um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!