Programación General > Java

 Interpretar Comandos Linux A Traves De Java

(1/1)

Tisus:
Quisiera saber si puedo hacer el llamado de comados linux a traves de Java, y si hubiera como por favor decirmelo; y los lugares donde pueda haber ejemplos.
Gracias:

nicokiki:
Hola!!!!!!!!

Si vos lo q queres hacer es ejecutar comandos desde tu aplicacion, usa la clase Runtime y ejecuta el comando. Pensa q eso solo funcionara bajo GNU/LINUX y no DOS ni otro sistema operativo porque los comandos son distintos salvo por execpciones. Por ejemplo: dir funciona tanto bajo LINUX como en DOS. Pero si hicieras un ls, en DOS no andaria.

Salu2!!!!!

chuidiang:
Un detalle.

Por más que he probado, dir no funciona en dos, ni cls ni ningún comando "interno" (comandos que no tienen un .exe, sino que están dentro de command.com).

Runtime.getRuntime.exec("dir");  // da error

He hecho pruebas estilo "start cls", "cmd cls", etc y no he conseguido nada, ya que se me abren nuevas ventanas o sesiones nuevas, que se cierran inmediatamente y no se ven los resultados.

¿Hay alguna forma de hacerlo?

Sed buenos.

nicokiki:
Hola!!!!!!!!!!!!!

Mando un ejemplo de como lanzar una aplicacion desde JAVA. Hay algo medio "anti" multiplataforma porque para saber en q sistema operativo corro tomo el file separator pero puede traer muchos problemas. Es igual no importa, lo q importa es el ejemplo en si.


--- Código: Text --- private boolean reiniciarAplicacion(){  boolean resultado = true;    Runtime rt = Runtime.getRuntime();    try    {            String oFileSeparator = System.getProperty("file.separator");            String[] cmd = new String[3];             if( oFileSeparator.equals( "\\" ) )            {                cmd[0] = "cmd.exe"&#59;                cmd[1] = "/C"&#59;                cmd[2] = "C://ejecutable";            }             if (oFileSeparator.equals( "/" ))            {                cmd[0] = ".\\ejecutable";            }             Process proc = rt.exec(cmd);      }      catch (Throwable exc4)      {        System.out.println("No se puede iniciar.\n");        exc4.printStackTrace();        return false;      }      return resultado;}  
Espero q siva

Salu2!!!!

chuidiang:
Hola de nuevo.

He probado esto


--- Código: Text ---class prueba{  public static void main (String[] args)  {    try {    Runtime.getRuntime().exec ("cmd /c cls");    } catch (Exception e)    {      e.printStackTrace();    }  }} 
y no funciona (no borra la pantalla), pero tampoco da ningún error.

Sin embargo, desde ventana de ms-dos

cmd /c cls

funciona correctamente.

En general, para arrancar ejecutables no hay problema. El problema es el comando concreto cls. Todavía no he conseguido borrar la pantalla desde java.

También he probado a coger el getInputStream del Process que devuelve exec() y redirigirlo a la pantalla, pero obtengo un caracter extraño (ascii = 12), pero no se borra la pantalla.

Se bueno.

Navegación

[0] Índice de Mensajes

Ir a la versión completa