Como se mostra o progresso de uma operação de cópia de arquivos Java no ICEfaces?

Eu tenho um aplicativo da web ICEfaces que precisa executar uma operação de cópia de arquivo e mostrar ao usuário uma barra de progresso.

Atualmente, a cópia está sendo feita chamando 'cpio', que não pode dar andamento ao código Java até que a operação seja concluída. Embora seja possível usar o Java para monitorar o número de bytes gravados versus o número de bytes lidos para uma estimativa do progresso da cópia, acho que pode haver uma solução mais simples se eu codificar a operação de cópia real em Java. Eu ainda usaria o 'cpio' para fins de arquivamento, mas a cópia real seria executada por uma classe Java.

A maior parte da ajuda que encontrei na minha pesquisa estava relacionada ao progressMonitor, que incorpora um componente de oscilação, e não tenho certeza se pode fazer o que eu quero. Tudo que eu preciso é um inteiro / duplo do progresso que eu possa alimentar no meu componente da barra de progresso do JSF como% de 100.

questionAnswers(2)

yourAnswerToTheQuestion