如何使用javax.xml.transform包在xml文件转换中集成进度条?

时间:2012-05-25 06:32:41

标签: xml-parsing progress-bar xslt

我正在使用javax.xml.transform包来转换巨大的XML文件......这个过程需要很多时间......最终用户将无法看到进度。有没有办法将进度条与转换过程相结合。

1 个答案:

答案 0 :(得分:0)

我已经通过报告目前已读取了多少输入文件来完成此类操作。例如,将您正在阅读输入XML文件的InputStream打包在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'

这与报告转换进度不同,但只要转换不等到它在生成输出之前读取整个文件,它就应该关闭。