cómo crear archivos java zip con un límite de tamaño de archivo máximo
Necesito escribir un algoritmo en java (para una aplicación de Android) para leer una carpeta que contiene más carpetas y cada una de las que contienen imágenes y archivos de audio, por lo que la estructura es la siguiente:mainDir/categorySubfolder/myFile1.jpg
Mi problema es que necesito limitar el tamaño del archivo a 16 mb y en el tiempo de ejecución, crear tantos archivos como sea necesario para contener todos mis archivos desde mi principalmainDir
carpeta.
Intenté varios ejemplos de la red y leí la documentación de java, pero no logro entenderlo y ponerlo todo junto como lo necesito. ¿Alguien ha hecho esto antes o tiene un enlace o un ejemplo para mí?
Resolví la lectura de los archivos con un método recursivo, pero no puedo escribir la lógica para la creación de zip.
Estoy abierto a sugerencias o mejor ejemplo de trabajo.