ejecutar comando linux que vuelque el contenido en un archivo

Iniciado por MichBukana, 20 Enero 2013, 14:54 PM

0 Miembros y 1 Visitante están viendo este tema.

MichBukana

Hola ando haciendo una aplicación que ejecute un comando en linux y que a la vez lo vuelque en un archivo por ejemplo ifconfig > test.txt.

esta es la aplicación:

    public void getHardwareInfo() {
        String s = null;
        String todo="";
        try {
            String so = System.getProperty("os.name");
            String comando="";
            if (so.equals("Linux"))
                comando = "ifconfig > /Users/Admin/Desktop/test.txt";
            if (so.equals("Mac OS X"))
                comando = "system_profiler > /Users/Admin/Desktop/test.txt";
            if (so.equals("Windows")) //mirar lo que obtiene en so en windows
                comando = "cmd /c ipconfig";

                System.out.println(so);
            Process p = Runtime.getRuntime().exec(comando);
            BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
            BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));

            // Leemos la salida del comando
            System.out.println("Ésta es la salida standard del comando:\n");
            while ((s = stdInput.readLine()) != null) {
                System.out.println(s);
            }

            // Leemos los errores si los hubiera
            System.out
            .println("Ésta es la salida standard de error del comando (si la hay):\n");
            while ((s = stdError.readLine()) != null) {
                System.out.println(s);
            }
        } catch (IOException e) {
            System.out.println("Excepción: ");
            e.printStackTrace();
            System.exit(-1);
        }

    }