transferFrom()
возвращает счет. Просто продолжайте вызывать его, продвигая позицию / смещение, пока он не вернет ноль. Но начните с гораздо большего счета, чем 1024, больше как мегабайт или два, иначе вы не получите большой выгоды от этого метода.
РЕДАКТИРОВАТЬ Чтобы обратиться ко всем комментариям ниже, в документации говорится, что «будет передано меньше запрошенного количества байтов, если у исходного канала осталось меньше, чем число байтов, или если исходный канал не -блокирование и имеет меньше, чем количество байтов, сразу же доступных в своем входном буфере. " Поэтому, если вы находитесь в режиме блокировки, он не вернет ноль, пока в источнике ничего не останется. Так что цикл, пока он не вернет ноль, действителен.
РЕДАКТИРОВАТЬ 2
Методы передачи, конечно, неправильно спроектированы. Они должны были быть рассчитаны на возврат -1 в конце потока, как и все методы read()
.