English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом примере вы узнаете, как использовать InputStreamReader в Java для преобразования входного потока (InputStream) в строку.
import java.io.*; public class InputStreamString { public static void main(String[] args) throws IOException { InputStream stream = new ByteArrayInputStream("Hello there!".getBytes()); StringBuilder sb = new StringBuilder(); String line; BufferedReader br = new BufferedReader(new InputStreamReader(stream)); while ((line = br.readLine()) != null) { sb.append(line); } br.close(); System.out.println(sb); } }
При выполнении программы вывод будет следующим:
Привет, там!
В aforementioned программе вводной поток создается из строки и хранится в переменной stream. Нам также нужна строковая генерация sb для создания строки из потока.
Затем мы создаем буферный читатель br из InputStreamReader для чтения строк из потока. Используя цикл while, мы читаем каждую строку и добавляем ее к строковому конструктору. В конце мы закрываем BufferedReader.
Потому что читатель может выбрасывать IOException, поэтому у нас в функции main естьIOException выбрасывается:
public static void main(String[] args) throws IOException