Back to questions
Middle
161
В чем заключается отличие между классами PrintWriter и PrintStream?
Answer from AI
sobes.tech AI
PrintWriter и PrintStream — это классы для вывода данных, но с разными особенностями:
- PrintStream работает с байтовыми потоками (OutputStream), а PrintWriter — с символьными (Writer).
- PrintWriter поддерживает указание кодировки, что важно для корректной работы с текстом в разных локалях.
- PrintWriter имеет методы для автоматического сброса буфера (autoFlush) при вызове println, printf и format.
- PrintStream не поддерживает работу с кодировками напрямую и устарел для текстового вывода.
Пример создания PrintWriter с указанием кодировки:
PrintWriter writer = new PrintWriter(new OutputStreamWriter(System.out, StandardCharsets.UTF_8), true);
writer.println("Пример вывода с PrintWriter");
Таким образом, для текстового вывода предпочтительнее использовать PrintWriter, особенно если важна кодировка.