我最近弄清楚了如何使用ObjectOutputStream和ObjectInputStream通过服务器和客户端之间的简单Java套接字连接发送对象。我想知道是否要传输一个可能很大的对象(例如图像),是否可以放置一个线程来跟踪已发送/接收的数据量的进度?如果对这个问题的回答不是很直接,那么有人可以解释一下我将如何去做类似的事情吗?提前致谢!

最佳答案

Apache Commons IO库具有一对实现字节计数输入/输出流过滤器的类CountingInputStreamCountingOutputStream

如果将这些插入流链中,则可以跟踪读取或写入的字节数。 (这些过滤器必须插入在物理输入/输出流和对象流之间的某个位置。)

您可以通过子类化FilterInputStreamFilterOutputStream类来实现同一件事。甚至还有一个名为ProgressMonitorInputStream的Swing类可以完全实现您所需要的。

07-27 13:32