[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-i-o-nio-kakie-podklassy-klassa-writer-vy-znaete-dlya-chego-oni-prednaznacheny":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":19,"progress":20,"seo":21},667,"kakie-podklassy-klassa-writer-vy-znaete-dlya-chego-oni-prednaznacheny",15,"i-o-nio","I\u002FO & NIO","📁","Какие подклассы класса Writer вы знаете, для чего они предназначены?","`Writer` — абстрактный класс для посимвольной записи текстовых данных в кодировке Unicode.\n\n| Класс | Тип | Назначение |\n|---|---|---|\n| `FileWriter` | Узловой | Запись текста в файл (с Java 11 можно указать charset) |\n| `CharArrayWriter` | Узловой | Запись в символьный массив в памяти |\n| `StringWriter` | Узловой | Запись в строку (`StringBuffer` внутри) |\n| `PipedWriter` | Узловой | Запись в канал, связанный с `PipedReader` |\n| `BufferedWriter` | Обёртка | Буферизованная запись с методом `newLine()` для платформо-независимого перевода строки |\n| `OutputStreamWriter` | Обёртка | Мост между символьным и байтовым потоком: преобразует символы в байты с указанной кодировкой |\n| `FilterWriter` | Обёртка | Базовый класс для символьных потоков-обёрток |\n| `PrintWriter` | Обёртка | Удобный вывод через `print()`, `println()`, `printf()` с возможностью отключить автоматический flush |\n\nНа практике `PrintWriter` — один из самых удобных классов для записи текста, так как поддерживает форматированный вывод и не выбрасывает `IOException` из методов `print`\u002F`println` (ошибки проверяются через `checkError()`). `OutputStreamWriter` используется, когда нужно явно указать кодировку при записи.\n\n> **На собеседовании:** перечислите 5-6 подклассов. Выделите `OutputStreamWriter` как мост между символьными и байтовыми потоками и `PrintWriter` как наиболее удобный класс для текстового вывода.","","junior",[15,16,17,18],"core","основы","inputstream","io",[],null,{"title":22,"description":23,"ogTitle":24,"ogDescription":25,"keywords":26,"schemaAnswer":36,"featuredSnippetReady":37},"Подклассы InputStream в Java — Gymterview","Подклассы InputStream: FileInputStream, BufferedInputStream, ByteArrayInputStream, DataInputStream, ObjectInputStream и другие. Узловые и обрабатывающие потоки.","Подклассы класса InputStream в Java — Gymterview","Обзор подклассов InputStream: узловые (File, ByteArray, Piped) и обрабатывающие (Buffered, Data, Object, Pushback, Sequence).",[27,28,29,30,31,32,33,34,35],"InputStream","FileInputStream","BufferedInputStream","DataInputStream","ObjectInputStream","ByteArrayInputStream","подклассы","Java IO","собеседование","Узловые: FileInputStream (чтение из файла), ByteArrayInputStream (из массива байт), PipedInputStream (межпоточный канал). Обрабатывающие: BufferedInputStream (буферизация), DataInputStream (чтение примитивных типов), ObjectInputStream (десериализация), PushbackInputStream (возврат байт в поток), SequenceInputStream (объединение потоков).",true]