Это я вам посоветовал или вы сами подорвались?

```stream.available()``` возвращает размер доступного буфера, а не длину потока. В общем случае, длину потока предсказать нельзя. Тормозите об EOF.