programa Mi Java está escuchando en la entrada estándar:Cómo canalizar la entrada al programa Java con fiesta
InputStreamReader isReader = new InputStreamReader(System.in);
BufferedReader bufReader = new BufferedReader(isReader);
while(true){
try {
String inputStr = null;
if((inputStr=bufReader.readLine()) != null) {
...
}
else {
System.out.println("inputStr is null");
}
}
catch (Exception e) {
...
}
}
Ahora, yo quiero a canalizar la entrada a este programa desde bash. He intentado lo siguiente:
echo "hi" | java -classpath ../src test.TestProgram
Pero es sólo la impresión inputStr is null
infinitas veces. ¿Qué estoy haciendo mal?
Editar 1: pregunta actualizada para incluir más código/contexto.
Edición 2:
Parece que estoy experimentando el mismo problema que esta OP: Command Line Pipe Input in Java
¿Cómo puedo fijar el programa para que pueda canalizar la entrada en para la prueba, pero el funcionamiento el programa normalmente permitirá a los usuarios ingresar también entradas estándar?
que debería funcionar. ¿Es ese tu programa completo? –
Tu código funcionó perfectamente para mí. ¿Qué más estás haciendo en tu código no publicado? – Nishan
¿Hay alguna posibilidad de que el 'test.TestProgram' que esté ejecutando no sea el que está compilando? – trashgod