работа с InputStreamReader

помогите пожалуйста не могу понять как работать с InputStreamReader

Есть задача которая звучит как :"Реализуйте метод, который зачитает данные из InputStream и преобразует их в строку, используя заданную кодировку." Пример: InputStream последовательно возвращает четыре байта: 48 49 50 51. Метод, вызванный для такого InputStream и кодировки ASCII, должен вернуть строку: "0123". По условиям сигнатура метода должна быть public static String readAsString(InputStream inputStream, Charset charset) throws IOException {}

Пытаюсь создать объект класса inputStreamReader и не могу понять как правильно ему в параметры передать inputStream и charset) , потому что встроенные валидатор все время ругается на эту строку.

Если мое виденье решение этой задачи в корни не правильно подскажите пожалуйста в какую сторону мне смотреть и как ее решить) Спасибо!

public static String readAsString(InputStream inputStream, Charset charset) throws IOException {
inputStreamReader reader = new inputStreamReader(InputStream inputStream,Charset charset);
StringBuffer sb = new StringBuffer();
int a;
String res;
while ((a = inputStream.read()) != -1) {
    sb.append((char)a);
}
res = sb.toString();
return res;

}

P.S. Знаю что есть встроенные методы для моей задачи но нужно сделать велосипед


Ответы (1 шт):

Автор решения: Амир Алиев
public static String readAsString(InputStream inputStream, Charset charset) throws IOException {
InputStreamReader st = new InputStreamReader(inputStream,charset);
StringBuffer sb = new StringBuffer();
int a;
String res;
while ((a = st.read()) != -1) {
    sb.append((char)a);
}
res = sb.toString();
return res;

}

→ Ссылка