Alguien me puede regalar un ejemplo de cómo emplear un Pipe en java???
Necesito específicamente hacer un llamado a GNUPlot desde JAVA
| ||||
Re: Pipe Hola: con Runtime.getRuntime().exec("ejecutable") puedes arrancar otro ejecutable. Esta llamada te devuelve un Process. Al Process puedes pedirle los InputStream y OutputStream, que son los pipes que necesitas. Aquí tienes un ejemplo con Runtime en el que se leen InputStream y OutputStream del Process. Se bueno. |
| |||
Así no me sirve. Hasta donde tengo entendido, el Runtime.exec("") lo que hace s un llamado a que se ejecute algo del sistema. Sin embargo lo que necesito es hacer un llamado a GNUPlot por pipes. O el exec() genera un pipe. La verdad estoy un poco confundido con el tema, porque le mostré a alguien el llamado con exec() y me dijo que eso no eran pipes. Yo vi una clase llamada Pipe(). Alguien sabe cómo se usa???? |
| |||
Re: Pipe Si, eso me podría servir de ayuda. Pero lo que necesito específicamente es comunicarme con GNUPlot a trave´s de un pipe. La difrencie de hacerlo con Runtime y con pipe es que con el e´ltimo puedo tener una manupular el pipe más que cuando lo haco ocn un Process. Ahí está la difrencia. De dotas formas muchas gracias por tu aporte, si puedes darme otro empujon te lo agradecería ya que estoy muy pegado |
| |||
Re: Pipe Cuando hago un llamado Gnuplot crea una ventana y la muestra. Yo debería poder controlar esa ventana. Por ejemplo, posicionarla en alguna parte de la pantalla, reimprimirla, esconerla, y lo que sería ideal, meterla dentro de un Panel de JAVA |
| |||
Respuesta: Pipe Hola: Prueba con algo asi. Un ejemplo usando GNUPLOT, con uso de las "pipas" de entrada, salida y error: {... Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec("gnuplot"); PrintWriter outPlot = new PrintWriter( new BufferedWriter( new OutputStreamWriter( process.getOutputStream()))); BuffererReader inPlot = new BufferedReader( new InputStreamReader( process.getInputStream())); BuffererReader errPlot = new BufferedReader( new InputStreamReader( process.getErrorStream())); outPlot.println("plot sin(x)"); // ejemplo outPlot.close(); inPlot.close(); errPlot.close(); ...} Saludos |