jueves, 12 de noviembre de 2009

Ejecutar un comando en consola con java

Para ejecutar un comando en consola con java independiente del sistema operativo
JAVA
  public String Ejecutar_Comando(String comando) {
    String cmd ="";
    String sSalida="";
    String so = System.getProperty("os.name");
    System.out.println("Sistema Operativo:"+System.getProperty("os.name"));
    if(!so.equals("Linux")){      
      cmd = "cmd.exe /c ";
    }
    cmd = cmd + comando;
    System.out.println("Ejecutando Comando:"+cmd);
    try {      
      Process proceso = Runtime.getRuntime().exec(cmd);
      proceso.waitFor();
      InputStream isSalida = proceso.getInputStream();
      BufferedReader brSalida = new BufferedReader(new InputStreamReader (isSalida));
      sSalida = brSalida.readLine();
      while (sSalida != null) {
        System.out.println(sSalida);
        sSalida = brSalida.readLine();
      }
      System.out.println("El Comando se ejecuto correctamente");
    } catch (Exception e) {
      System.out.println("Error al ejecutar el comando: " + e.getMessage());
      sSalida="error";
    }  
    if(sSalida==null){sSalida="";}    
    System.out.println("El comando devuelve el mensaje:" + sSalida);
    return sSalida;
  }