Il metodo 'available' invocato su un oggetto di tipo InputStream ritorna SEMPRE 0.
Come le API indicano chiaramente:
Invocandolo, invece, su un oggetto di tipo EFFETTIVO ObjectInputStream, il metodo 'available' dovrebbe restituire il numero di bytes che possono essere effettivamente letti dallo stream mediante una operazione di read.Originariamente inviata da API