Dica: iniciando processos em Groovy

Há situações nas quais se torna necessário iniciar processos externos.Em Java, podemos usar a classe Runtime para iniciar novos processos, tal como no código abaixo:


java.lang.Runtime.getRuntime().exec("notepad.exe")

O resultado será uma nova instância da classe abstrata java.lang.Process, cujos métodos poderemos acessar e assim direcionar o stream de saída, etc.

Groovy simplifica esta tarefa da seguinte forma: caso queira iniciar um novo processo, digite o nome do comando dentro de uma string e em seguida chame o método execute() embutido pela linguagem dentro desta classe, tal como no exemplo abaixo:


"notepad.exe".execute()  // BEM mais simples, não é mesmo?

O resultado da execução deste método será uma instância de java.lang.Process, exatamente como o exemplo em Java que citei acima.

Sabe: da pra ir além. Você também pode processar a saída de um comando linha a linha se quiser. Supondo que você esteja executando o sistema operacional Linux (ou o Windows com o cygwin) instalado, o código abaixo também seria válido:

<pre class="code-java">def processo= <span class="code-quote">"ls -l"</span>.execute()
processo.in.eachLine { linha -> println linha }</pre>

Não é bacana?


Publicado

em

,

por

Tags:

Comentários

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.