StringReader и StringWriter в Java
Last updated: 6 мая 2025 г.StringReader
, StringWriter
– потоки, которые хранят строку в себе с которой мы работаем через эти потоки как с любыми другими источниками дынных (фалами например).
Как раньше например мы записывали или выводили из консоли теперь будем записывать в строку или выводить из строки.
ByteArrayInputStream
, ByteArrayOutputStream
– аналог только работаем с массивом байтов вместо строки.
Пример программы:
1import java.io.*;
2import java.util.*;
3
4class StringWRLesson {
5 public static void main(String[] args) {
6 try {
7 String s = "data";
8 // Строчка ниже – ключевая: мы «превратили» строку в Reader.
9 // И теперь можем работать со строкой как с объектом Reader.
10 Reader reader = new StringReader(s);
11 // можем сделать строку (поток) буферезированной.
12 BufferedReader br = new BufferedReader(reader);
13 String line = br.readLine(); // считать строку
14 System.out.println(line);
15 Writer writer = new StringWriter();
16 // Пишем какую-то строку в Writer
17 // для дальнейшей записи ее в String переменную.
18 writer.write(line + "some text");
19 // получаем текст, который был записан во Writer
20 String result = writer.toString();
21 System.out.println(result);
22 } catch (Exception e) {}
23 }
24}
Вывод:

Следующие уроки
SequenceInputStream в Java
9
мин.
PipedStream в Java: передача данных между потоками
10
мин.
PushbackInputStream в Java
8
мин.