Чтение данных из потока
Я достаточно часто сталкиваюсь с проблемами, вызваными неправильным чтением данных из потока (
( Collapse )
P.P.S. Напоследок хочу напомнить. Читать из потока
java.io.InputStream
). В последнее время такие проблемы почему-то стали появляться особенно часто, в связи с чем я решил разъяснить принцип раз и навсегда и просто давать всем желающим ссылку.( Collapse )
P.P.S. Напоследок хочу напомнить. Читать из потока
byte
, преобразовывать его в char
простым приведением типа и пытаться построить из полученных "символов" строку - грубая ошибка. Это будет работать для латинских символов (да и то не во всех случаях!), а для нелатинских может работать лишь по счастливой случайности. Правильный вариант - сделать на основе InputStream
экземпляр Reader
, с указанием кодировки (new InputStreamReader(inputStream, "<имя кодировки>")
), и читать уже из него. О кодировках можно прочитать тут: http://www.skipy.ru/technics/encodings.html