Hola:

tengo un problema que llevo un par de días intentando resolverlo y no lo doy echo.

Tengo echa una aplicación echa en Java que con los datos almacenados en una base de datos genera un mapa y funciona desde hace meses... el problema es que ahora me encargaron que modifique la aplicación para que además de generar el mapa conectandose a una BD, pues también genere el mapa pasandole el nombre de un fichero o recibiendo los datos por STDIN...

El motivo por qué quieren eso es muy simple, tienen una aplicación que actua como servidora y recibe datos de varias sucursales y saca los datos recibidos por salida estandar (normalmente rederigida a un fichero). Cada cierto tiempo cogían ese fichero e introducian los datos en una base de datos, para que la aplicación que yo hice generase un mapa de situación... Ahora quieren evitarse ese paso y poder hacer algo asi:

java situamap [-{a,b,g}] < atena2 <ENTER>
NOTA: situamap es mi aplicación Y atena2 es la aplicación que genera los datos.

Bien a lo que iba, tengo poca experiencia en Java, pero leer un fichero no me causa un problema, pero trabajar con la entrada estandar si me lo está causando... Motivo: no se cuantas lineas generara la aplicación...

atena2 genera una salida similar a esto:
#25-01-08
14
13 5 756 21
13 6
5 2 25 2
12
14 6 51 21
#26-01-08
14 6 56 1
13 6 21
5
#27-01-08
...

las "#" para mi son comentarios y las tengo que ignorar
las otras lineas son las que tengo que procesar, que pienso aprovecharme el StringTokenizer para hacerlo, porque a priori no se sabe cuantos elementos habrá ya que dependiendo de la cantidad de números se hace una cosa u otra, por ejemplo, cuando hay un número solo significa "limpiar municipio [número]", cuando hay cuatro significa "municipio, polígono, parcela, accion"... Este no es el problema.

El problema es que no se cuantas líneas me va a generar y no doy con la respuesta de lo que tengo que hacer y llevo intentando cosas desde hace un par de días y no logro dar con la solución... solo necesito encontrar una forma de leer es esquema de como leer una cantidad arbitraria de lineas a través de STDIN...

Agradezco cualquier aportación

Un Saludo