Ah. Pero es que esa no es la forma "correcta" de leer de un Stream. Así sólo lees un trozo, el cual puede ser más grande o más pequeño dependiendo de varios factores.
Hay que usar un bucle.
Aquí puedes ver un ejemplo
muy básico:
http://java.sun.com/docs/books/tutor...testreams.html
Recalcar que es un ejemplo muy básico que lee los bytes uno a uno. Lo normal es usar un BufferedInputStream por encima del InputStream, por ejemplo, para leer de más en más.
S!