Originariamente inviato da leonardos
Salve, devo leggere da stream caratteri speciali e ho visto su un manuale che
DataInputStream sa leggere caratteri in codificaUTF-8.
DataInputStream (e l'opposto DataOutputStream) servono in genere per trattare dati binari in forma indipendente dalla piattaforma.

Se devi leggere dati testuali, ad esempio da un file, utilizza le classi apposite con cui si può specificare un apposito charset (es. appunto UTF-8).

Mi spiego meglio, esempio: devi leggere riga x riga da un file di testo? Apri con FileInputStream, poi fai il wrapping con InputStreamReader e poi con BufferedReader.