Sì. Innanzitutto stai facendo una (1) lettura per al massimo 1024 byte. Quindi se il documento è più di 1024 byte .... ciao.Originariamente inviato da tcc
Forse l'errore è nella costruzione del buffer???
Anche se volessimo supporre che il documento sia più corto di 1024 byte, si riempirebbe ovviamente solo una parte di quei 1024 byte nell'array. Già ma poi ByteArrayInputStream lo prende tutto per intero, quindi per lui sono 1024 byte e se c'è meno roba, allora al fondo ci saranno dei caratteri nulli che ovviamente non sarebbero corretti quindi ... altro ciao.
E tra l'altro il fatto di usare DataInputStream, perlomeno per quel pezzo che vedo, sarebbe inutile. DataInputStream è utile quando devi leggere tipi primitivi da "ricostruire" a partire dai singoli byte nello stream.
E non capisco perché devi complicarti la vita con i ByteBuffer.