Какой лучший способ записи 2-байтовых массивов в OutputStream? - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть два байтовых массива, которые мне нужно записать в OutputStream на сокете.Прямо сейчас я делаю что-то вроде этого:

byte[] arr1, arr2;
OutputStream os;
os.write(arr1);
os.write(arr2);

Мне было интересно, может быть, лучше вместо этого сначала объединить два массива (например, с System.arraycopy()) и только потом вызывать os.write(combinedArray) один раз?

И если это имеет значение, я спрашиваю с точки зрения Android.

1 Ответ

0 голосов
/ 09 февраля 2012

Технически, я думаю, вам лучше обернуть OutputStream в BufferedOutputStream и записать каждый байт [] отдельно.Когда вы закончите писать, вызовите bufferedOutputStream.flush (); BufferedOutputStream автоматически запишет, когда его собственный внутренний буфер заполнится, независимо от того, сколько раз вы пишете в него с отдельными байтовыми массивами и вызовомсброс гарантирует, что все данные будут записаны.Базовый BufferedOutputStream определит, когда наиболее эффективно логически комбинировать байтовые массивы для вас, чтобы вам не пришлось запутывать свой код дополнительной логикой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...