Для подсчета всех файлов используйте ZipFile.size()
.
Для подсчета файлов в определенном каталоге описанный вами метод является единственным вариантом. Zip-файлы хранятся не в иерархической структуре, а в виде плоского списка с указанными путями к файлам.
Это также зависит от того, являются ли эти пути абсолютными (для исходной файловой системы) или относительными.