¿Cuál es mejor? Mejor me refiero a cuál tiene mejor seguridad, etc. (no es fácil de usar).ProcessBuilder vs Runtime.exec()
14
A
Respuesta
31
La facilidad de uso es la única diferencia real entre esos dos.
Tenga en cuenta que la facilidad de uso puede conducir a la seguridad al ayudar a evitar el uso incorrecto.
Al menos en OpenJDK 6 Runtime.exec()
se implementa utilizando ProcessBuilder
:
public Process exec(String[] cmdarray, String[] envp, File dir)
throws IOException {
return new ProcessBuilder(cmdarray)
.environment(envp)
.directory(dir)
.start();
}
+0
Excepto que 'Runtime.exec' tiene sobrecargas que toman 'command' como una sola' String' y la tokenizan, pero en 'ProcessBuilder' una sola' String' se maneja como una vararg 'String [1]' - vea http : //stackoverflow.com/questions/6856028/difference-between-processbuilder-and-runtime-exec –
Cuestiones relacionadas
- 1. ProcessBuilder vs Runtime.exec()
- 2. Proceso externo iniciado con ProcessBuilder/Runtime.exec() falla en XP, funciona en Win 7
- 3. Java, Runtime.exec o ProcessBuilder: cómo saber si el archivo es shell o binario?
- 4. Java Runtime.exec()
- 5. Java Runtime.exec() salida asíncrona
- 6. Runtime.exec() en Android cuelga
- 7. salida de tubería de ProcessBuilder a otro ProcessBuilder
- 8. Inicie CMD utilizando ProcessBuilder
- 9. Java Runtime.exec problemas en Linux
- 10. Runtime.exec() ERROR: cuelga sin proporcionar un objeto de proceso
- 11. Java - Problema con múltiples runtime.exec() concurrentes InputStreams
- 12. Captura de stdout al llamar a Runtime.exec
- 13. cómo redirigir stdin a java Runtime.exec?
- 14. ProcessBuilder no puede encontrar el archivo ?!
- 15. Java ProcessBuilder: El proceso resultante se bloquea
- 16. java: ProcessBuilder hace una memoria de cerdo
- 17. ejecutando scripts a través de processbuilder
- 18. ¿Por qué debería evitar el uso de Runtime.exec() en java?
- 19. Redirigir la salida de ProcessBuilder en Java 5/6?
- 20. Alternativas a tiempo de ejecución y ProcessBuilder (Java)
- 21. ProcessBuilder agrega cotizaciones adicionales a la línea de comandos
- 22. Java ProcessBuilder process.destroy() no mata procesos secundarios en winXP
- 23. Cómo establecer el directorio de trabajo con ProcessBuilder
- 24. Uso de Java ProcessBuilder para ejecutar un comando Hilo
- 25. ¿De qué versión de Linux kernel/libc es Java Runtime.exec() seguro con respecto a la memoria?
- 26. Java ProcessBuilder para comenzar a ejecutar múltiples comandos secuencialmente en Linux
- 27. ¿Cómo pruebo la unidad de un método Java que usa ProcessBuilder y Process?
- 28. J2ME VS Android VS iPhone VS Symbian VS Windows CE
- 29. TagSoup vs Jsoup vs HTML Analizador vs vs HotSax
- 30. 'método' vs. 'mensaje' vs. 'función' vs. '???'
¿Qué quiere decir con 'tiene una mejor seguridad'? –