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

Регистрация: Jan 2012
Сообщений: 9
Цитата:
Мотивацию я понимаю. Только вот "динамический массив" вам не нужен. Вы в него только "пишете" и получаете результат. Произвольная модификация вам вроде бы не нужна. ByteArrayOutputStream как раз хранится в памяти и предоставляет интерфейс потока (stream). Внутри там "динамический" (увеличивающийся при необходимости) массив байт. После формирования сообщения он прекрасно преобразуется в массив байт, у которого можно получить длину. Вот как раз в нем можно формировать массив байт.
О, теперь я понял, о чем вы говорите. Суть та же, только хранить информацию не в массиве, а в потоке, который после можно преобразовать в массив байт. Да, это определенно лучше, чем список. Спасибо за терпение =) Сделаю так, даже проще выходит=) В поток можно все писать обычными методами, и не надо руками приводить int к byte[4] и т.д.
Цитата:
Если очень хочется пакет за один прием писать, запишите в ByteArrayOutputStream вначале в качестве длины 0, а затем в полученном массиве байт исправьте (столько байт, сколько будет нужно).
Нет, не принципиально, в 2 приема нормально =)