¿Es posible iniciar otras aplicaciones que estén instaladas en el sistema con mi aplicación java y pasarles un archivo como parámetro? Tengo un cliente que recibe videos de un servidor y quiero que se inicie mi programa cliente, digamos el reproductor VLC con el archivo que recibí. ¿Cómo logro hacer eso?Iniciar otras aplicaciones con Java
Respuesta
Use Desktop#open()
. Lanzará la aplicación asociada predeterminada de la plataforma para abrir el archivo dado.
File file = new File("/absolute/path/to/file.vlc");
Desktop.getDesktop().open(file);
No hay necesidad de complicarse con Runtime#exec()
o ProcessBuilder
para lo cual habría que añadir la detección de plataforma y escribir lógicas específicas de plataforma para.
+1 No se ha visto antes. Interesante. – Brabster
Puede ejecutar un programa externo con bastante facilidad en Java 5+ con ProcessBuilder, incluidos los argumentos de paso y el manejo de flujos de entrada/salida.
por ejemplo.
ProcessBuilder movieProcess = new ProcessBuilder("/path/to/movieplayer", "/path/to.moviefile");
movieProcess.start();
Sólo utilizado yo mismo la ejecución material no-UI, voy a dar una oportunidad rápida y ver qué pasa con algo como VLC.
Actualización - trabaja un convite para FLV en Ubuntu, la interfaz de usuario es visible y acepta argumentos de archivo.
¡Dulce, no sabía eso! :-) –
En pocas palabras:
Runtime.getRuntime().exec("vlc [arguments]"); //Write all arguments as you would in your shell.
Asegúrese de capturar todas las excepciones pertinentes
Siempre que VLC reside en la RUTA. Lo cual no es el caso en mi sistema ... – Joey
Luego proporcione la ruta de archivo ** completa ** + extensión de VLC. –
Puede llamar al método exec en el objeto Runtime.
Runtime.getRuntime().exec("System specific command line text here");
- 1. Android obtener PID de otras aplicaciones
- 2. ¿Usando SwingEventMonitor para monitorear otras aplicaciones?
- 3. ¿La implementación de aplicaciones web Java es más costosa que otras aplicaciones web PHP?
- 4. No puedo iniciar aplicaciones JNLP utilizando "Java Web Start"?
- 5. Android, detectar cuando se inician otras aplicaciones
- 6. Django: ¿se extienden otras aplicaciones ModelAdmin?
- 7. Salir de otras aplicaciones en el cacao
- 8. MVC2 Aplicaciones (y otras) compartiendo servicios de WCF y autenticación
- 9. Instaladores de aplicaciones Java
- 10. ¿Dónde instalar archivos JAR en OS X para que otras aplicaciones Java los encuentren?
- 11. ejecutando aplicaciones scala con java -jar
- 12. Ampliación de aplicaciones web Java con complementos
- 13. ¿Cómo exportar una actividad para que otras aplicaciones puedan llamarla?
- 14. Cómo usar Boost.Interprocess para transmitir datos a otras aplicaciones?
- 15. ¿Recursos para implementar ERP y otras aplicaciones empresariales?
- 16. Proporcionar un servicio en segundo plano para otras aplicaciones
- 17. Eliminar notificaciones de la barra de notificaciones de otras aplicaciones
- 18. OpenID para aplicaciones de Android que requieren Iniciar sesión
- 19. Información de Android sobre superposiciones/elementos flotantes sobre otras aplicaciones
- 20. ¿Cómo funciona LiveReload (y otras aplicaciones similares) técnicamente?
- 21. Cómo evitar que un dll se cargue en otras aplicaciones
- 22. ¿Estás registrando aplicaciones web Java?
- 23. Iniciar sesión en libs "Java Library Code" para aplicaciones de Android
- 24. ¿Cómo diseñar aplicaciones Java?
- 25. Cómo evitar que otras aplicaciones definan el mismo nombre de permiso
- 26. ¿Cómo puedo dar el enlace de la tienda de aplicaciones en mis aplicaciones antes de aprobar otras aplicaciones?
- 27. Iniciar sesión en el sitio web con java
- 28. ¿Cómo puedo iniciar un applet de Java con más memoria?
- 29. ¿Cómo iniciar y detener un contenedor Tomcat con Java?
- 30. POJO con otras referencias POJO
¡Aceptar algo primero! (obtendrá una insignia y más respuestas) – Roman
Puede encontrar un historial de sus preguntas en su página de perfil (la página que verá cuando haga clic en cualquier lugar donde aparezca su nombre como enlace): http: // stackoverflow.com/users/283494 Vota las respuestas que encontraste útiles haciendo clic en la flecha hacia arriba y acepta las respuestas que realmente ayudaron a resolver el problema haciendo clic en la marca de verificación. Manten el espíritu de StackOverflow con vida :) – BalusC
oh lo siento muchachos. Soy nuevo en stackoverflow y no sabía que tenía que hacer esto. – user283494