巨大な XML ファイルを変換するために javax.xml.transform パッケージを使用しています... このプロセスには多くの時間がかかります..そして、エンド ユーザーは進行状況を確認できません。プログレスバーを変換プロセスと統合する方法はありますか?
1 に答える
0
これまでに入力ファイルがどれだけ読み取られたかを報告することで、この種のことを行いました。たとえばInputStream
、入力 XML ファイルを読み取る元の を でラップし、javax.swing.ProgressMonitorInputStream
そこjavax.xml.transform
から読み取ったとします。
入力がリモート URL から来たときに私の同僚が使用したパターンは次のようなものでした。
URLConnection c = new URL(url).openConnection();
ProgressMonitorInputStream pm = new ProgressMonitorInputStream(parentComponent,
"Transforming XML", c.getInputStream());
pm.getProgressMonitor().setMaximum(c.getContentLength());
// now read from 'pm'
これは変換の進行状況を報告することと同じではありませんが、変換が出力を生成する前にファイル全体を読み取るまで待機しない限り、変換は終了するはずです。
于 2012-11-12T01:08:11.103 に答える