¿Cómo se muestra el progreso de una operación de copia de archivos Java en ICEfaces?

Tengo una aplicación web ICEfaces que necesita realizar una operación de copia de archivos y mostrar al usuario una barra de progreso.

Actualmente, la copia se realiza llamando a 'cpio', que no puede hacer avanzar el código Java hasta después de que la operación haya finalizado. Si bien sería posible usar Java para monitorear la cantidad de bytes escritos frente a la cantidad de bytes leídos para obtener una estimación del progreso de la copia, creo que podría haber una solución más simple si codificara la operación de copia real en Java. Todavía usaría 'cpio' para propósitos de archivo, pero la copia real sería realizada por una clase de Java.

La mayor parte de la ayuda que encontré en mi búsqueda estaba relacionada con progressMonitor, que incorpora un componente swing, y no estoy seguro de que pueda hacer lo que quiero. Todo lo que necesito es un entero / doble del progreso que puedo enviar a mi componente de la barra de progreso JSF como un% de 100.

Respuestas a la pregunta(2)

Su respuesta a la pregunta