如何在JProgressBar中显示读/写序列化的进度?

时间:2013-07-24 14:59:57

标签: java swing file-io monitoring jprogressbar

如何检查Java读/写服务的进度并在JProgressBar中显示?需要完成的任务是:

  1. 检查已读取/写入的字节数,并通过将其除以需要读取/写入的总字节数来完成百分比。
  2. 将此值放入进度条,然后重新绘制JFrame以更新背景并显示JProgressBar
  3. 另一个问题可能是如何对阅读或写作这样做,因为它们都非常不同。如果写作不能做得很好,但监控阅读是一个优先事项。

1 个答案:

答案 0 :(得分:0)

检查阅读操作的进度与写作有很大不同。 This forum post涵盖了使对象的大小相当好的问题: “...除了做两次之外,没有什么有用的方法可以知道即将发生的序列化的大小,一次是ByteArrayOutputStream来测量它,再一次是真正的目标,这非常浪费。”

如果在序列化之前无法记录序列化后对象的大小,则我无法跟踪进度。

就阅读而言,使用ProgressMonitorInputStream跟踪进度要简单得多,并且如何使用它有tutorial here