Foro de elhacker.net

Programación => Java => Mensaje iniciado por: cinek en 29 Noviembre 2013, 20:59 pm



Título: Programa Java (ping en pantalla)
Publicado por: cinek en 29 Noviembre 2013, 20:59 pm
Hola,

Soy nuevo en el tema de Java y me gustaria hacer un programita que haga pings infinitos dentro de una ventana.


Título: Re: Programa Java (ping en pantalla)
Publicado por: egyware en 29 Noviembre 2013, 21:01 pm
Código
  1. ping ip -t  'en windows
  2. ping ip #en linux
  3.  

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....


Título: Re: Programa Java (ping en pantalla)
Publicado por: trolleoatodos en 30 Noviembre 2013, 14:05 pm
Y como lees la salida ,¿con un pipe?


Título: Re: Programa Java (ping en pantalla)
Publicado por: egyware en 30 Noviembre 2013, 14:17 pm
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!


Título: Re: Programa Java (ping en pantalla)
Publicado por: trolleoatodos en 30 Noviembre 2013, 16:41 pm
Gracias egyware, hay un problema ,el metodo que interesa es getOutputStream,
pero como escribimos la salida del process en un File¿? ,gracias


Título: Re: Programa Java (ping en pantalla)
Publicado por: egyware en 30 Noviembre 2013, 17:08 pm
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!


Título: Re: Programa Java (ping en pantalla)
Publicado por: trolleoatodos en 30 Noviembre 2013, 20:44 pm
Ya di con la solución ,es que había que usar getInputStream para recibir el output
del proceso, un poco confuso xD


Título: Re: Programa Java (ping en pantalla)
Publicado por: egyware en 30 Noviembre 2013, 20:50 pm
Tiene sentido. Porque estás leyendo la salida del programa.