Pregunta

Así que quiero ser capaz de escribir una aplicación que puede encender y mensajes de pantalla LogCat, dmesg, y también ser capaz de ejecutar comandos como 'ls' 'gato' 'eco' 'cd'.

Si hago lo siguiente:

nativeProc = Runtime.getRuntime().exec("ls\n");
        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(nativeProc.getOutputStream()));
        BufferedReader in = new BufferedReader(new InputStreamReader(nativeProc.getInputStream()));
        String line = null;

        while ((line = in.readLine()) != null) {  
            full = full + "\n" + line;
        }

Me puede poner el texto "completo" a una vista de texto y ver el directorio raíz.

Sin embargo, eso es todo lo que puedo hacer. Digamos que yo quiero encontrar un directorio, y el cambio a él, estoy teniendo problemas.

Así que si hago esto:

nativeProc = Runtime.getRuntime().exec("ls\n");
        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(nativeProc.getOutputStream()));
        BufferedReader in = new BufferedReader(new InputStreamReader(nativeProc.getInputStream()));
        String line = null;

        while ((line = in.readLine()) != null) {  
            full = full + "\n" + line;
        }
        /* Code here to confirm the existing of a directory*/


        nativeProc = Runtime.getRuntime().exec("cd tmp\n");
        BufferedReader in2 = new BufferedReader(new InputStreamReader(nativeProc.getInputStream()));
        line = null;
        String test = "\nStart1:\n";
        while ((line = in2.readLine()) != null) {  
            test = test + "\n" + line;
        }

no consigo nada para ambos y "texto" "completo"

¿Alguna idea?

¿Fue útil?

Solución

Puede ejecutar ls con el camino previsto qué carpetas deben ser enumerados

Runtime.getRuntime().exec(new String[] { "ls", "\\tmp"});

Otros consejos

El directorio de trabajo actual se asocia con el proceso actual. Cuando exec ( "cd tmp") va a crear un proceso, cambiando su directorio para "tmp", y después de salir del proceso. El proceso padre directorio de trabajo no cambia.

Ver esto para una discusión más general de cambiar el directorio de trabajo actual en Java .

¿Cómo escribir un archivo de shell que comprueba la existencia del archivo y todos los demás implementaion en este archivo y lo ha añadido a sdcard y desencadenar el archivo de la cáscara de Java usando getRuntimr.exec (). También puede pasar parámetros a la misma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top