Hola,
Soy nuevo en el tema de Java y me gustaria hacer un programita que haga pings infinitos dentro de una ventana.
ping ip -t 'en windows
ping ip #en linux
Solo deberías usar la clase Runtime para invocar uno de esos dos comandos y empezar a leer la salida estándar de estos.
Aunque no entiendo para que....
Y como lees la salida ,¿con un pipe?
Oye quien nos trollea a todos
Miren revisen estás clases:
http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html
http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html
Ambas sirven para invocar comandos al bash o cmd lo que sea. La ultima representa el proceso en si y puedes obtener su salida de estándar (vamos revisen las clases ahí está todo) hasta enviarle datos por la entrada estándar.
Saludos!
Gracias egyware, hay un problema ,el metodo que interesa es getOutputStream,
pero como escribimos la salida del process en un File¿? ,gracias
La única forma que se me ocurre (y la unica forma que se) es copiar byte a byte (o un conjunto de ellos) mediante el FileOutputStream de un archivo.
hace tiempo escribi un post (http://egyware.wordpress.com/2011/04/12/transfiriendo-archivos-usando-java-de-la-forma-incorrecta/) en mi blog de como no hacerlo, pero nunca escribí de como hacerlo bien. De todas formas sirve para empezar y funciona que es lo mejor.
Tip: Al final todos son Streams, da lo mismo la fuente.
Saludos!
Ya di con la solución ,es que había que usar getInputStream para recibir el output
del proceso, un poco confuso xD
Tiene sentido. Porque estás leyendo la salida del programa.