1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.io.BufferedReader import java.io.InputStreamReader fun main() { val processBuilder = ProcessBuilder("ls", "-l") val process = processBuilder.start() val exitCode = process.waitFor() println("El proceso ha finalizado con el código de salida: $exitCode") // Leer la salida del proceso val reader = BufferedReader(InputStreamReader(process.inputStream)) var line: String? while (reader.readLine().also { line = it } != null) { println(line) } reader.close() } |
Este código en Kotlin utiliza la clase ProcessBuilder
para ejecutar el comando ls -l
y captura la salida del proceso. Aquí está la explicación:
- Importaciones de clases necesarias: Se importan las clases
BufferedReader
yInputStreamReader
para leer la salida del proceso. - Función principal
main
: Se define la funciónmain
, que es el punto de entrada del programa. - Creación del
ProcessBuilder
: Se crea un objetoProcessBuilder
para ejecutar el comandols -l
. - Inicio del proceso: Se inicia el proceso utilizando el
ProcessBuilder
. - Espera a que el proceso termine: Se espera a que el proceso termine y se guarda el código de salida en la variable
exitCode
. - Impresión del código de salida: Se imprime el código de salida del proceso.
- Lectura y impresión de la salida del proceso: Se crea un
BufferedReader
para leer la salida del proceso línea por línea. Se imprime cada línea de salida en la consola. - Cierre del lector de salida: Se cierra el lector de salida una vez que se ha leído toda la salida del proceso.