Ваш пример кода не указывает на то, что необходим символьный поток. Если это так, String
уже может обрабатывать все, что вы хотите. Предполагая, что String s
содержит данные,
char[] chars = s.toCharArray();
byte[] bytes = s.getBytes("utf-8");
Затем вопрос сводится к тому, как получить байты из потока байтов в String
, для которого вы можете использовать ByteArrayOutputStream
, например:
ByteArrayOutputSteam os = new ByteArrayOutputSteam();
os.write(buffer, 0, buffer.length); // it just stores the bytes, doesn't convert yet.
// several more os.write() calls
s = os.toString("utf-8"); // now it converts the full buffer to a string in the specified encoding.
Если вы действительно хотите что-то, имеющее поток ввода байтов и поток вывода символов, встроенного нет.