РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
852 of 1163 menu

Метод read класса Reader

Метод read класса Reader читает данные из потока ввода. У метода есть три перегрузки. Первая перегрузка не принимает параметров и возвращает один прочитанный символ в виде числа типа int или -1, если достигнут конец потока. Вторая перегрузка принимает массив символов char[] и возвращает количество прочитанных символов или -1, если достигнут конец потока. Третья перегрузка принимает массив символов, смещение и длину, а возвращает количество прочитанных символов или -1, если достигнут конец потока.

Синтаксис

int read() int read(char[] cbuf) int read(char[] cbuf, int off, int len)

Пример

Давайте прочитаем один символ из строкового потока:

import java.io.StringReader; import java.io.Reader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { Reader reader = new StringReader("abcde"); int res = reader.read(); System.out.println(res); System.out.println((char) res); reader.close(); } }

Результат выполнения кода:

97 "a"

Пример

Давайте прочитаем все символы из потока в массив:

import java.io.StringReader; import java.io.Reader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { Reader reader = new StringReader("abcde"); char[] buf = new char[5]; int res = reader.read(buf); System.out.println(res); System.out.println(new String(buf)); reader.close(); } }

Результат выполнения кода:

5 "abcde"

Пример

Давайте прочитаем часть символов из потока, указав смещение и длину:

import java.io.StringReader; import java.io.Reader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { Reader reader = new StringReader("abcde"); char[] buf = new char[5]; int res = reader.read(buf, 1, 3); System.out.println(res); System.out.println(new String(buf)); reader.close(); } }

Результат выполнения кода:

3 " abc"

Пример

Давайте проверим, что возвращает метод при достижении конца потока:

import java.io.StringReader; import java.io.Reader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { Reader reader = new StringReader("abcde"); reader.read(); reader.read(); reader.read(); reader.read(); reader.read(); int res = reader.read(); System.out.println(res); reader.close(); } }

Результат выполнения кода:

-1

Смотрите также

  • класс Reader,
    который является базовым классом для чтения символов
  • метод close,
    который закрывает поток чтения
  • класс BufferedReader,
    который добавляет буферизацию при чтении
  • метод readLine,
    который читает строку целиком
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить