Это довольно просто, но код немного длинный, чтобы написать все это и звучит как домашнее задание.
Я могу дать вам несколько указаний.
Просто откройте файл, используйте метод long length()
класса File
, чтобы получить размер, и метод writeLong(long)
, равный DataOutputStream
, чтобы отправить длину на сервер. Затем просто прочитайте файл блок за раз и используйте метод write(byte[])
из DataOutputStream
для отправки каждого блока.
Чтобы прочитать файл за один раз, вы просто создадите FileInputStream
и будете использовать его метод int read(byte[])
. Будьте осторожны, чтобы не предполагать, что этот метод заполнит весь буфер, потому что это не гарантируется. Прочитайте документы!