CodeGym
AI Academy
Promoção
CodeGym University
Aprendizagem
Cursos
Tarefas
Pesquisas & Questionários
Jogos
Ajuda
Cronograma
Comunidade
Usuários
Fórum
Chat
Artigos
Histórias de sucesso
Atividade
Avaliações
Assinaturas
Tema claro

Aulas

  • Avaliações
  • Sobre nós
Iniciar
Comece a aprender
Comece a aprender agora
  • Meu progresso
  • Cursos
  • Mapa da Missão
  • Aulas
  • ProcessBuilder — execução de processos externos

    JAVA 25 SELF
    Nível 61,Aula 0
    Vamos entender como executar comandos e utilitários externos a partir do Java usando a classe ProcessBuilder: por que ela é melhor que Runtime. getRuntime(). exec(), como configurar o diretório de trabalho com directory(), variáveis de ambiente com environment() e gerenciar o processo com start(), waitFor(), streams getInputStream()/ getErrorStream()/ getOutputStream(). Vamos discutir multiplataforma ( cmd.exe/ ls), o trabalho com stdout/ stderr e erros comuns.
    Disponível
  • Lendo a saída do processo, trabalhando com stdin/stdout

    JAVA 25 SELF
    Nível 61,Aula 1
    Prática com processos externos em Java: como ler stdout via Process.getInputStream(), capturar erros de stderr via Process.getErrorStream(), escrever em stdin usando Process.getOutputStream() e também usar os métodos convenientes inputReader()/ errorReader()/ outputWriter(). Vamos analisar particularidades de comandos como java -version, a leitura paralela dos fluxos para evitar deadlock, o trabalho com codificações ( "UTF-8") e uma pequena ponte com scripts Python.
    Disponível
  • Gerenciando o ciclo de vida de processos

    JAVA 25 SELF
    Nível 61,Aula 2
    Prática de gerenciamento de processos externos a partir do Java: aguardamos a finalização com waitFor() (incluindo timeouts), lemos o código de saída, encerramos corretamente com destroy()/ destroyForcibly(), evitamos travamentos e processos zumbi, sem esquecer os fluxos de saída e as exceções. Abordamos nuances multiplataforma e erros típicos.
    Disponível
  • Interação com processos de forma interativa

    JAVA 25 SELF
    Nível 61,Aula 3
    Nesta aula, veremos como, a partir do Java, organizar um diálogo “ao vivo” com programas externos: escrever em stdin, ler de stdout e stderr, evitar bloqueios mútuos ( deadlock), processar a saída em paralelo com ExecutorService, fechar fluxos corretamente e gerenciar o ciclo de vida de Process por meio de ProcessBuilder. Veremos exemplos com um script interativo em Python e com o utilitário bc, além de analisar as armadilhas da bufferização e a necessidade de flush().
    Disponível
  • Análise de erros típicos ao trabalhar com processos

    JAVA 25 SELF
    Nível 61,Aula 4
    Guia prático para trabalhar de forma robusta com processos externos em Java: como evitar travamentos por causa de fluxos não lidos stdout/ stderr, configurar corretamente as codificações de saída (por exemplo, UTF-8, CP866), levar em conta diferenças multiplataforma de comandos ( ls vs dir), tratar permissões e códigos de saída via process.exitValue(), fechar recursos sem vazamentos e evitar bloqueios mútuos em interações interativas. Abordamos o uso adequado de ProcessBuilder, a leitura paralela dos fluxos (threads/ ExecutorService), o encerramento apropriado via process.destroy(), bem como caminhos portáveis com File.separator.
    Disponível
Aprender
  • Cadastro
  • Curso de Java
  • Ajuda com Tarefas
  • Preços
  • Sintaxe Java
Comunidade
  • Usuários
  • Artigos
  • Fórum
  • Chat
  • Histórias de sucesso
  • Atividade
  • Programa de afiliados
Empresa
  • Sobre nós
  • Contatos
  • Avaliações
  • Sala de imprensa
  • CodeGym for EDU
  • Perguntas frequentes
  • Suporte
CodeGymCodeGym é um curso online para aprender programação Java do zero. Este curso é uma maneira perfeita de dominar Java para iniciantes. Contém mais de 1.200 tarefas com verificação instantânea e um escopo essencial da teoria dos fundamentos de Java. Para ajudar você a ter sucesso nos estudos, implementamos um conjunto de recursos motivacionais: questionários, projetos de programação, conteúdo sobre aprendizagem eficiente e carreira de desenvolvedor Java.
Siga-nos
Idioma da interface
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
"Programadores se formam, não nascem" © 2026 CodeGym
MastercardVisa
"Programadores se formam, não nascem" © 2026 CodeGym