Le classi di flusso sono classi orientate ai byte, ovvero tutte le classi InputStream
(bufferizzate e non bufferizzate) leggere byte per byte dallo stream e tutte le classi OutputStream
(bufferizzate e non bufferizzate) scrivono i dati byte per byte nello stream . Le classi di flusso sono utili quando si hanno piccoli dati o se si hanno a che fare con file binari come le immagini.
D'altra parte Reader/Writer
sono classi basate sui caratteri. Queste classi leggono o scrivono un carattere alla volta da o in streaming. Queste classi si estendono o java.io.Reader
(tutte le classi di input dei caratteri) o java.io.Writer
(tutte le classi di output dei caratteri). Queste classi sono utili se hai a che fare con file di testo o altri flussi testuali. Queste classi sono anche Buffered
e Non-Buffered
.
fonte
2015-02-09 18:14:01
+1 che è davvero il punto, un Reader è generalmente supportato da un InputStream di qualche tipo (non sempre - vedi StringReader) ed esegue una conversione di byte in caratteri unicode a 16 bit . – Yishai