Попробуйте:
url.openConnection().getContentLength();
Если это не работает, вы можете загрузить поток, используя:
url.openStream()
... и читать поток до конца, считая, сколько фактически было прочитано байтов. Вы также можете использовать декоратор CountingInputStream
для повторного использования потока позже. Однако первый фрагмент кода, похоже, работает.