


Wie kann ein Fehler bei der Java-Ausgabeumleitung mit der Methode exec() behoben werden?
Fehler bei der Ausgabeumleitung der Java exec()-Methode
Bei diesem Problem versucht ein Benutzer, die Ausgabe eines Shell-Skripts mithilfe der Java-Laufzeit umzuleiten .getRuntime().exec()-Methode. Die Umleitung schlägt jedoch fehl und die angegebene Ausgabedatei wird nicht erstellt.
Der bereitgestellte Codeausschnitt lautet:
Process p = Runtime.getRuntime().exec("sh somescript.sh &> out.txt");
Normalerweise sollte dieser Befehl die Ausgabe des Skripts in die Datei umleiten out.txt. In diesem Fall wird die Ausgabe jedoch nicht umgeleitet, obwohl das Skript erfolgreich ausgeführt wird, wenn es direkt in der Shell ausgeführt wird.
Lösung: Verwenden Sie ProcessBuilder für die Umleitung
Die Die Lösung liegt in der Verwendung von ProcessBuilder anstelle von Runtime.getRuntime().exec(). ProcessBuilder bietet mehr Kontrolle über die Prozesserstellung und ermöglicht die explizite Umleitung von Eingabe-, Ausgabe- und Fehlerströmen.
Der mit ProcessBuilder geänderte Code lautet wie folgt:
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
In diesem Code a ProcessBuilder wird erstellt und konfiguriert, um sowohl Standardausgabe- als auch Fehlerströme in die Datei out.txt umzuleiten. Die start()-Methode wird dann verwendet, um den Prozess zu erstellen und möglicherweise eine IOException auszulösen, wenn ein Problem vorliegt.
Durch die Verwendung von ProcessBuilder kann die Ausgabeumleitung explizit verwaltet werden, wodurch das Problem behoben wird.
Das obige ist der detaillierte Inhalt vonWie kann ein Fehler bei der Java-Ausgabeumleitung mit der Methode exec() behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.