В конечном счете, вы собираетесь отправлять поток в любом случае.
Если вы получили данные из другого источника вне вашего контроля в виде массивного byte[]
, то вы могли бы также хранить их вэту форму для вашей обработки, если вам не неудобно, и пусть она будет проталкиваться в сетевой поток по линии.
Если вы принимаете ее как поток, нет смысла превращать ее в массивный byte[]
просточтобы его толкнули в другой поток.Используйте буфер размером 4 или 8 КБ (4 или 8, а не 4–8, поскольку в совпадениях по целому числу страниц памяти есть некоторые незначительные преимущества по сравнению с теми, которыми вы также можете воспользоваться).
Если вы создаете его самостоятельно, в большинстве случаев поток является как более простым (перенос в двоичном или текстовом редакторе и работает через него), так и более эффективным.
В целом, еслиЯ вижу буфер размером более 8 Кбайт, который записывается в поток или читается из потока, а затем отмечу, что первым делом стоит попытаться изменить его, если что-то кажется слишком медленным.