Найти тему
DEBAGanov

Java 948. Какие классы позволяют преобразовать байтовые потоки в символьные и обратно?

В Java для преобразования байтовых потоков в символьные и обратно используются классы InputStreamReader и OutputStreamWriter.

Класс InputStreamReader позволяет считывать байты из InputStream и преобразовывать их в символы в соответствии с выбранной кодировкой.

Класс OutputStreamWriter позволяет записывать символы в OutputStream и преобразовывать их в байты в соответствии с выбранной кодировкой.

Примеры использования:

Чтение из InputStream и перевод в строку:

InputStream input = new FileInputStream("file.txt");
Reader reader = new InputStreamReader(input, "UTF-8");
StringBuilder result = new StringBuilder();
int ch;
while ((ch = reader.read()) != -1) {
result.append((char) ch);
}
reader.close();
input.close();
String str = result.toString();

Запись строки в OutputStream:

OutputStream output = new FileOutputStream("file.txt");
Writer writer = new OutputStreamWriter(output, "UTF-8");
String str = "Привет, мир!";
writer.write(str);
writer.close();
output.close();

Обратите внимание, что в приведенных примерах используется кодировка UTF-8. Вы можете выбрать любую другую поддерживаемую кодировку в зависимости от ваших потребностей.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov