Executar comandos do terminal Linux em Java
Dica publicada em Java / Introdução
Executar comandos do terminal Linux em Java
Há vezes em que por algum motivo você deseja criar algo em seu PC e que ficaria muito mais simples se o mesmo fosse criado
através do terminal no Linux ou até mesmo no Windows.
Nesta dica de hoje vou mostrar uma maneira como usar os comandos do terminal (Linux) dentro de um programa feito em JAVA.
A parte que que realiza a execução do comando Linux está na linha:
Fonte: http://maguscode.blogspot.com/
Como é possível ver nesse trecho de código anteriormente havia sido criado um objeto do tipo Runtime:
Este objeto do tipo Runtime (run) tem todos o métodos necessários para que se execute um comando Linux através do terminal.
No nosso caso foi utilizado o método run.exec, que realiza a execução do comando que virá a criar uma pasta no Linux. Em nosso caso foi passado o camando mkdir que tem função de criar uma pasta, se deseja criar uma pasta TESTE dentro do /tmp a linha ficaria assim:
Para testar o programa é necessário gerar um arquivo .jar e executar o mesmo utilizando a seguinte sintaxe:
mkdirInJava nome-pasta
Abaixo é possível ver o processo de execução do mkdirInJava.jar:
Nesta dica de hoje vou mostrar uma maneira como usar os comandos do terminal (Linux) dentro de um programa feito em JAVA.
Criando código de exemplo
Para demonstrar como funciona os comandos Linux no terminal foi criado um programa simples que faz a mesma ação do mkdir (criar pastas):
package testes;
import java.io.IOException;
/**
*
* @author Robson Fernando Gomes
*
*/
public class MkdirInJava {
public static void main(String args[])
{
String path = null;
System.out.print("\n#Mkdir criado em java#");
System.out.print("\n##Inciando processo");
Runtime run = Runtime.getRuntime();
if(args.length>0)
path=args[0];
if(path==null)
{
System.out.print("\n\nÉ necessário informar o nome da pasta a ser criada");
System.out.print("\nSintaxe: \n\t mkdirInJava nome-pasta");
System.exit(0);
}
try {
System.out.print("\n#Criando arquivo "+path);
String command = "mkdir "+path;
run.exec(command);
System.out.print("\n##Processo Finalizado.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.IOException;
/**
*
* @author Robson Fernando Gomes
*
*/
public class MkdirInJava {
public static void main(String args[])
{
String path = null;
System.out.print("\n#Mkdir criado em java#");
System.out.print("\n##Inciando processo");
Runtime run = Runtime.getRuntime();
if(args.length>0)
path=args[0];
if(path==null)
{
System.out.print("\n\nÉ necessário informar o nome da pasta a ser criada");
System.out.print("\nSintaxe: \n\t mkdirInJava nome-pasta");
System.exit(0);
}
try {
System.out.print("\n#Criando arquivo "+path);
String command = "mkdir "+path;
run.exec(command);
System.out.print("\n##Processo Finalizado.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
A parte que que realiza a execução do comando Linux está na linha:
run.exec(command);
Fonte: http://maguscode.blogspot.com/
Como é possível ver nesse trecho de código anteriormente havia sido criado um objeto do tipo Runtime:
Runtime run = Runtime.getRuntime();
Este objeto do tipo Runtime (run) tem todos o métodos necessários para que se execute um comando Linux através do terminal.
No nosso caso foi utilizado o método run.exec, que realiza a execução do comando que virá a criar uma pasta no Linux. Em nosso caso foi passado o camando mkdir que tem função de criar uma pasta, se deseja criar uma pasta TESTE dentro do /tmp a linha ficaria assim:
run.exec("mkdir /tmp/TESTE");
Para testar o programa é necessário gerar um arquivo .jar e executar o mesmo utilizando a seguinte sintaxe:
mkdirInJava nome-pasta
Abaixo é possível ver o processo de execução do mkdirInJava.jar:
Mas deve existir uma possibilidade de criar uma pasta sem precisar o uso do comando externo mkdir.