Показать сообщение отдельно
Старый 05.10.2010, 15:02
ekeeper вне форума Посмотреть профиль Отправить личное сообщение для ekeeper Найти все сообщения от ekeeper
  № 1  
Ответить с цитированием
ekeeper

Регистрация: May 2008
Сообщений: 102
По умолчанию пустая строка в конце ByteArray

есть у меня ByteArray - данные из сокета.
ставлю position = 0 и начинаю последовательно читать данные разных типов
точно известно что последним надо считывать строку - ByteArray.readUTF().

иногда в этот ByteArray записывается пустая строка, поэтому когда доходит при чтении до readUTF - bytesAvailable ровняются двум байтам (видимо заголовок о том, что длина строки 0 или типа того). И при вызове readUTF на эти оставшиеся 2 байта про пустую строку вываливается EOFError: Error #2030: End of file was encountered.

Вопрос - как правильно считывать строку зная что она может пустой там оказаться?
и вообще - стоит ли записывать пустую строку в ByteArray?