Вывод значения окончания потока

Друзья, всем привет!
В книге сказано, что в случае считывания данных в консоли с клавиатуры результатом нажатия клавиши Enter является по сути три вещи: 1) Метод read() возвращает символ переноса коретки, 2) Метод read() возвращает символ перевода строки, 3) метод read() возвращает значение -1.
В связи с этим вопрос:
Почему данный код не приводит к выводу на экран надписи "Есть конец потока" при вводе с клавиатуры последовательности 123?
Кстати, если буду отлавливать '\n' вместо -1, то это видно.
import java.io.*;
class ReadBytes {
public static void main (String args[])
throws IOException
{
byte data[] = new byte[10];
System.out.println("Введите символы: ");
System.in.read(data);
System.out.print("Вы ввели: ");
for (int i = 0; i < data.length; i++) {
if (data[i] == -1) System.out.println("Есть конец потока");
System.out.print((char) data[i]);
}
}
}
22 декабря 2016 в 21:47
Ближайшие курсы

Как начать свой путь в разработке?
Онлайн-курс
25
февраля
Интенсив «Формулы и методы для планирования в Excel»
Онлайн-курс
25
февраля
Костыли и велосипеды: как не нужно писать код на C#
Онлайн-курс
25
февраля
Новые статьи

Архитектор информационных систем — новая профессия
38100

«Дизайн — инструмент для изменения мира»
114010

Разбираемся в типах Kotlin — Unit, Nothing, Any (и null)
97700
Новые вебинары

Правовые аспекты работы с блокчейн-проектами
08 апреля390

Работа тестировщика на разных IT-проектах
31 марта10

Как зарабатывать на разработке мобильных приложений? Как запустить свой стартап?
31 марта740
Новые темы

Mythological Riddles
java eclipse
0
ответов