CodeGym
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan
Community
Nutzer
Forum
Chat
Artikel
Erfolgsgeschichten
Aktivität
Bewertungen
Abonnements
Helles Design

Lektionen

  • Bewertungen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Mein Fortschritt
  • Kurse
  • Quest-Karte
  • Lektionen
  • ProcessBuilder – Starten externer Prozesse

    JAVA 25 SELF
    Level 61,Lektion 0
    Wir schauen uns an, wie man aus Java externe Befehle und Tools mit der Klasse ProcessBuilder startet: warum sie besser ist als Runtime. getRuntime(). exec(), wie man das Arbeitsverzeichnis über directory() und die Umgebungsvariablen über environment() konfiguriert sowie den Prozess über start(), waitFor() und die Streams getInputStream()/ getErrorStream()/ getOutputStream() steuert. Außerdem sprechen wir über Plattformunabhängigkeit ( cmd.exe/ ls), den Umgang mit stdout/ stderr und typische Fehler.
    Verfügbar
  • Lesen der Prozessausgabe, Arbeit mit stdin/stdout

    JAVA 25 SELF
    Level 61,Lektion 1
    Praxis im Umgang mit externen Prozessen in Java: wie man stdout über Process.getInputStream() liest, Fehler aus stderr über Process.getErrorStream() abgreift, in stdin mit Process.getOutputStream() schreibt und außerdem die praktischen Methoden inputReader()/ errorReader()/ outputWriter() nutzt. Wir sehen uns Besonderheiten von Befehlen wie java -version an, das parallele Lesen der Streams zur Vermeidung eines Deadlock, den Umgang mit Zeichencodierungen ( "UTF-8") sowie eine kleine Bridge zu Python-Skripten.
    Verfügbar
  • Steuerung des Prozesslebenszyklus

    JAVA 25 SELF
    Level 61,Lektion 2
    Praxis der Steuerung externer Prozesse aus Java: auf das Ende mit waitFor() warten (inklusive Timeouts), Exit-Code auslesen, sauber über destroy()/ destroyForcibly() beenden, Hänger und „Zombie“-Prozesse verhindern – und dabei Ausgabestreams und Ausnahmen nicht vergessen. Wir besprechen plattformübergreifende Besonderheiten und typische Fehler.
    Verfügbar
  • Interaktive Kommunikation mit Prozessen

    JAVA 25 SELF
    Level 61,Lektion 3
    In dieser Vorlesung klären wir, wie man aus Java einen „lebendigen“ Dialog mit externen Programmen aufbaut: in stdin schreiben, aus stdout und stderr lesen, gegenseitige Blockierungen ( deadlock) vermeiden, die Ausgabe parallel mit ExecutorService verarbeiten, Streams korrekt schließen und den Lebenszyklus von Process über den ProcessBuilder steuern. Wir sehen uns Beispiele mit einem interaktiven Skript in Python und dem Tool bc an und besprechen die Fallstricke der Pufferung sowie die Notwendigkeit von flush().
    Verfügbar
  • Analyse typischer Fehler beim Umgang mit Prozessen

    JAVA 25 SELF
    Level 61,Lektion 4
    Ein praxisnaher Leitfaden für robuste Arbeit mit externen Prozessen in Java: wie man Hänger durch nicht gelesene Streams stdout/ stderr vermeidet, die Ausgabe-Kodierung korrekt konfiguriert (z. B. UTF-8, CP866), plattformübergreifende Unterschiede von Befehlen berücksichtigt ( ls vs dir), Berechtigungen und Exit-Codes über process.exitValue() behandelt, Ressourcen ohne Lecks schließt und interaktive gegenseitige Blockaden vermeidet. Wir betrachten den sachgemäßen Einsatz von ProcessBuilder, das parallele Lesen der Streams (Threads/ ExecutorService), das korrekte Beenden via process.destroy() sowie systemunabhängige Pfade mit File.separator.
    Verfügbar
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe bei Aufgaben
  • Preise
  • Java-Syntax
Community
  • Nutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsgeschichten
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakte
  • Bewertungen
  • Presse
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym ist ein Online-Kurs zum Erlernen der Java-Programmierung von Grund auf. Dieser Kurs ist eine perfekte Möglichkeit, Java als Anfänger zu meistern. Er enthält über 1200 Aufgaben mit sofortiger Überprüfung und einen wesentlichen Umfang an Java-Grundlagentheorie. Um Ihren Lernerfolg zu unterstützen, haben wir eine Reihe motivierender Funktionen implementiert: Quizze, Programmierprojekte, Inhalte zum effizienten Lernen und Karriereinformationen für Java-Entwickler.
Folgen Sie uns
Interface-Sprache
English
Deutsch
Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym
MastercardVisa
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym