Wie wird der Fortschritt eines Java-Dateikopiervorgangs in ICEfaces angezeigt?

Ich habe eine ICEfaces-Webanwendung, die einen Dateikopiervorgang ausführen und dem Benutzer einen Fortschrittsbalken anzeigen muss.

Gegenwärtig wird das Kopieren durch Aufrufen von 'cpio' durchgeführt, wodurch der Java-Code erst nach Abschluss der Operation aktualisiert werden kann. Während es möglich wäre, Java zu verwenden, um die Anzahl der geschriebenen Bytes gegenüber der Anzahl der gelesenen Bytes zu überwachen, um den Kopierfortschritt abzuschätzen, gibt es möglicherweise eine einfachere Lösung, wenn ich den eigentlichen Kopiervorgang in Java codiere. Ich würde immer noch 'cpio' für Archivierungszwecke verwenden, aber das eigentliche Kopieren würde von einer Java-Klasse durchgeführt.

Die meiste Hilfe, die ich bei meiner Suche gefunden habe, bezog sich auf progressMonitor, der eine Swing-Komponente enthält, und ich bin nicht sicher, ob es tun kann, was ich will. Alles, was ich brauche, ist eine Ganzzahl / das Doppelte des Fortschritts, den ich meiner JSF-Fortschrittsbalkenkomponente als% von 100 zuführen kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage