Java - Flujos: Yamil, Wilfredo Chuidiang

 
Vista:

Flujos: Yamil, Wilfredo Chuidiang

Publicado por Walter (33 intervenciones) el 25/09/2005 23:20:19
Hace un tiempo me colaboraron al redireccionar la salida de un proceso, pero ahora lo qu quiero es ejecutar un programa que muestre un mensaje y luego lea algo del usuario, y despues despliegue lo ingresado por el usuario. Mi problema es que no logro que el usuario pueda ingresar algun dato, aqui les envio el codigo de mis dos clases

Espero puedan ayudarme

/***********************************************************************************************/

import java.io.*;

public class PruebaRuntime4{

public static void main( String[] args ){

Runtime r = Runtime.getRuntime();
try {
Process p = r.exec("java Ejecucion");
BufferedReader in = new BufferedReader (new InputStreamReader (p.getInputStream ()));
String rpta = null;

while ((rpta = in.readLine ()) != null)
{
System.out.println (rpta);
}

}
catch (Exception ex) {

System.out.println (" - "+ex.toString());
}

}
}

/***********************************************************************************************/
public class Ejecucion{

public static void main(String[] args){

System.out.println ("Ingrese un numero");
int num = readInt();

System.out.println ("El numero leido es: "+num);
}

public static String readLine() // Devuelve una cadena leida desde teclado
{
char c;
String cadena = (String) "";
try
{
while( (c = (char) System.in.read()) != '\r' )
cadena += c;
System.in.read();
}
catch( Exception e )
{
System.out.println("error de entrada de datos!!!!!!!!");
System.exit(0);
}
return cadena;
}
public static int readInt() // Devuelve un entero leido desde teclado
{
try
{
return Integer.parseInt(readLine() );
}
catch( Exception e )
{
System.out.println( "No es un numero entero valido!!!!!!!!");
System.exit(1);
return 0;
}
}
}
/***********************************************************************************************/
Gracias de antemano y gracias por su constante ayuda.....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Flujos: Yamil, Wilfredo Chuidiang

Publicado por aloneibar (78 intervenciones) el 26/09/2005 09:54:01
No entiendo tu pregunta. Pero por qué no pruebas a hacer un html con un campo de texto y lo envias al servlet. No entiendo el motivo de que lo quieras hacer en java, con lo fácil que es un HTML.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Flujos: Yamil, Wilfredo Chuidiang

Publicado por Walter (33 intervenciones) el 26/09/2005 14:50:29
En verdad q no entiendes mi pregunta, la idea es ejecutar otro programa java a partir de otro, eso ya esta, al hacer esto se genera un proceso, y la salida de este lo capturo, pero cuando el programa "proceso" lee algo del teclado, la cosa ya no funciona.
Gracias de todas formas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Flujos: Yamil, Wilfredo Chuidiang

Publicado por Yamil Bracho (2315 intervenciones) el 26/09/2005 19:57:28
Walter creo que puedes usar los argumentos pasados por consola (String [] args) para diferenciar si se esta ejecutando desde el otro programa en Java o si se esta ejecutando desde la consola. Puedes pasar los parametros desde el programa java y chequeas la longitud del arreglo. Si no tiene nada pides los datos, y si tiene algo no pides nada y asi no se queda esperando por datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Flujos: Yamil, Wilfredo Chuidiang

Publicado por Walter (33 intervenciones) el 26/09/2005 21:04:03
La idea es que pueda leer los datos desde el programa, pero ejecutandolo desde otra clase. La idea es que ejecute el programa y este programa, leea datos del usuario..
De todas formas gracias. Si alguien sabe algo por favor respondame, ya probe de todo y pues nada, no logro hacerlo funcionar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Flujos: Yamil, Wilfredo Chuidiang

Publicado por chuidiang (950 intervenciones) el 27/09/2005 09:18:24
Hola:

No sé si entiendo bien tú problema, pero te cuento.

Cuando lanzas el proceso, tanto su salida standard como su entrada standard se redirigen a tu programa principal. Lo que debes hacer es:

El programa principal lee el teclado.
Le envia lo leido al proceso obteniendo p.getOutputStream().
Lee del proceso los resultados tal cual lo tienes ahora.
Muestra el resultado en pantalla.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Flujos: Yamil, Wilfredo Chuidiang

Publicado por Walter (33 intervenciones) el 27/09/2005 15:06:59
Hola, creo que no me deje entender muy bien, lo que dice Chuidiang, lo entiendo, pero sucede que ejecuto el proceso, pero resulta que en este proceso se hacen dos cosas:
1. Mostrar una cadena (SALIDA)
2. Pedir datos del usuario (ENTRADA)

la salida, todo OK,pero cuando trato de manejar la entrada, es decir que el usuario ingrese lgun dato y este sea leido por el programa del proceso, ashi es donde se detiene mi programa, trate de escribir con el flujo que menciona Chiudiang, el output,pero no me funciona, si por favor pudiesen probar mi codigo, el que les deje, y una solucion por favor, he intentado de todo. Gracias de nuevo por su tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Flujos: Yamil, Wilfredo Chuidiang

Publicado por Wilfredo Vargas Almendras (314 intervenciones) el 27/09/2005 18:14:19
Hola.. creo q este link te ayudara ...

http://java.sun.com/developer/JDCTechTips/2003/tt0722.html#2

SALUDOS Wilfredo Vargas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar