Не печатается одно число длиной 76 цифр.Там у вас есть цикл, он печатает много цифр, каждая длиной до трех цифр (один байт).
В ASCII, 89 = "Y", 111 = "o" ....
То, что вы удалили для char
, было то, что оно интерпретировало это число как Unicodeвместо этого укажите код и напечатайте соответствующие символы (также по одному за раз).
Этот способ чтения байта текста очень хрупок.В основном это работает только с ASCII.Вы должны использовать Reader
, чтобы обернуть InputStream
.Затем вы можете читать char
и String
напрямую (и он позаботится о наборах символов, таких как Unicode).
О, я думал, что это выдаст байтовое представление отдельной буквы.
Но это именно то, что он делает.Вы можете увидеть это более четко, если вы используете println
вместо print
(тогда он будет печатать каждое число в отдельной строке).