"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver problemas de redirecionamento de saída usando o tempo de execução Java?

Como resolver problemas de redirecionamento de saída usando o tempo de execução Java?

Publicado em 2024-11-07
Navegar:842

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

Resolvendo problema de redirecionamento de saída com o método exec() do Runtime

Em Java, utilizar Runtime.getRuntime().exec() para executar um comando permite capturar o processo fluxos de saída e erro. No entanto, nos casos em que o redirecionamento de saída é desejado, este método por si só pode ser ineficaz.

O problema: a saída não está sendo redirecionada

Ao empregar Runtime.getRuntime().exec() com comandos que apresentam redirecionamento de saída, como > , a operação de redirecionamento poderá falhar. O arquivo de destino pode não ser criado e o fluxo de saída permanece sem redirecionamento.

A solução: empregando o ProcessBuilder

Para redirecionar a saída com êxito, considere utilizar o ProcessBuilder. Esta classe oferece uma abordagem mais granular para a criação de processos, permitindo a especificação de saída e redirecionamento de fluxo de erros.

Veja como usar o ProcessBuilder para redirecionamento de saída:

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

Ao usar o ProcessBuilder, você pode redirecionar a saída padrão e os fluxos de erro padrão para o arquivo desejado, garantindo que a saída do comando seja capturada.

Declaração de lançamento Este artigo é reproduzido em: 1729728181 Se houver alguma violação, entre em contato com [email protected] para excluí -lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3