Как я могу разделить мой файл на блоки данных и переместить эти блоки из моего приложения для Android?

Я хочу иметь возможность передавать блоки моего файла вместо полного файла из моего приложения inorder, чтобы передать его более эффективно. Каков наилучший способ сделать это?

Обновить

Вот пример того, где мне нужен такой подход. Скажем, у меня есть файл размером 4 ГБ, который я пытаюсь загрузить. Если сеть не удалась, моя загрузка файла остановится, и мне придется начинать с нуля. Вместо этого, если я буду отслеживать блоки, которые я уже перенес, я могу продолжить с блоков, которые еще не были переданы. Это особенно важно для слабых сетевых подключений.

Я думаю, его понимание заключается в том, что ОС передает файл очень случайным образом, и он хочет программным образом контролировать, что передавать и сколько нужно передать

Могу ли я узнать, какой у вас файл. «Я спрашиваю, потому что, если это не текстовый файл, тогда я думаю, что вам нужен закон meu и закон или алгоритм G711 или G729 .

Я понял один подход, чтобы сделать это. Что вы можете сделать, так это разделить файл на блоки, используя описанный здесь подход. Как разбить файл на куски с помощью Java? И преобразовать каждый блок в строку Base64, а затем передать закодированную строку. Сервер отвечает номером блока после его получения. Затем этот номер фрагмента можно сохранить на устройстве локально, а следующий фрагмент можно отправить на сервер. После того, как все куски были перенесены, декодирование Base64 может быть выполнено на стороне сервера, и файлы могут быть объединены.