El día 7 de octubre de 2008 10:41, Oscar Gosdinski
<[EMAIL PROTECTED]> escribió:

> Lo que sucede es que al leer de System.in, estás leyendo el stdin del
> SO, por tanto el usuario tiene que escribir en stdin lo que se
> ingresará en el programa. Al escribir el nombre y el retorno de carro
> esto será mostrado en la terminal a menos que bloquees la terminal
> para que no se muestre lo que estás ingresando (como lo hace por
> ejemplo el programa passwd). Ojo que esto último es un comportamiento
> del SO _no_ de Java, por lo que no lo puedes evitar programando.

Efectivamente. Conozco Java pero no es mi especialidad y me acabo de
sorprender de comprobar buscando en Google y preguntando en canales de
Java especializados que simplemente NO es posible leer un caracter en
la consola sin imprimirloen pantalla utilizando codigo 100% Java y que
además sea portable :(

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4050435

Al parecer, es posible hacer este "truco" utilizando clases que para
algo tan simple son bastante complejas como jcurses o jline que son
los equivalentes en Java a curses y GNU readline respectivamente. Sin
embargo, ambas clases se apoyan en llamadas a programas nativos de
Windows o UNIX porque el propio estandar de Java no permite este tipo
de comportamiento.

Entonces la respuesta correcta a tu sobrino es que tu no estabas mal,
Java esta mal! :) Esto si es sencillo de hacer en otros lenguajes como
C por ejemplo, aunque si nos vamos a ir por el lado de hacerlo con
codigo en C realmente portable parece que la cosa se complica de nuevo
porque getch() no esta disponible en tooodas las plataformas, al final
nuevamente hay que recurrir a curses y librerias parecidas.

Bien curioso el tema.. Me encantaria que alguien me corrija pero me
temo que no va a suceder :(

Antonio
_______________________________________________
Lista de correo Linux-plug
Temática: Discusión general sobre Linux
Peruvian Linux User Group (http://www.linux.org.pe)

Participa suscribiéndote y escribiendo a:  [email protected]
Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
http://listas.linux.org.pe/mailman/listinfo/linux-plug

IMPORTANTE: Reglas y recomendaciones
http://www.linux.org.pe/listas/reglas.php
http://www.linux.org.pe/listas/comportamiento.php
http://www.linux.org.pe/listas/recomendaciones.php

Responder a