Heim > Java > javaLernprogramm > Hauptteil

Wie behebt man Probleme bei der Ausgabeumleitung mithilfe der Java-Runtime?

Patricia Arquette
Freigeben: 2024-10-24 08:07:02
Original
932 Leute haben es durchsucht

How to Address Output Redirection Issues Using Java's Runtime?

Beheben von Ausgabeumleitungsproblemen mit der exec()-Methode von Runtime

In Java ermöglicht die Verwendung von Runtime.getRuntime().exec() zum Ausführen eines Befehls die Erfassung der Prozesse Ausgabe- und Fehlerströme. In Fällen, in denen eine Ausgabeumleitung gewünscht ist, kann sich diese Methode allein jedoch als unwirksam erweisen.

Das Problem: Ausgabe wird nicht umgeleitet

Bei Verwendung von Runtime.getRuntime().exec() mit Befehlen, die Feature-Ausgabeumleitung, z. B. > , der Umleitungsvorgang schlägt möglicherweise fehl. Die Zieldatei wird möglicherweise nicht erstellt und der Ausgabestream bleibt unumgeleitet.

Die Lösung: Einsatz von ProcessBuilder

Um die Ausgabe erfolgreich umzuleiten, sollten Sie stattdessen ProcessBuilder verwenden. Diese Klasse bietet einen detaillierteren Ansatz für die Prozesserstellung und ermöglicht die Spezifikation der Ausgabe- und Fehlerstromumleitung.

So verwenden Sie ProcessBuilder für die Ausgabeumleitung:

<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

Durch die Verwendung von ProcessBuilder können Sie kann sowohl die Standardausgabe als auch die Standardfehlerströme in die gewünschte Datei umleiten und so sicherstellen, dass die Ausgabe des Befehls erfasst wird.

Das obige ist der detaillierte Inhalt vonWie behebt man Probleme bei der Ausgabeumleitung mithilfe der Java-Runtime?. 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!