我正在使用 javax.xml.transform 包来转换巨大的 XML 文件......这个过程需要很多时间......最终用户将无法看到进度。有没有办法将进度条与转换过程相结合。
问问题
205 次
1 回答
0
我通过报告到目前为止已经读取了多少输入文件来完成这种事情。例如,将InputStream
您正在从中读取输入 XML 文件的 包装在 ajavax.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 回答