Потоковые классы являются байтово-ориентированными классами, которые означают, что все InputStream
классы (буферизованные и небуферизованные) считывают данные побайтно из потока, а все OutputStream
(буферизованные и небуферизованные) записывают данные побайтно в поток. Потоковые классы полезны, когда у вас есть небольшие данные или если вы имеете дело с двоичными файлами, такими как изображения.
С другой стороны Reader/Writer
- это классы, основанные на символах. Эти классы читают или пишут один символ за раз из или в поток. Эти классы расширяются либо java.io.Reader
(все классы ввода символов), либо java.io.Writer
(все классы вывода символов). Эти классы полезны, если вы имеете дело с текстовым файлом или другим текстовым потоком. Эти классы также Buffered
и Non-Buffered
.