我最近弄清楚了如何使用 ObjectOutputStream 和 ObjectInputStream 通过服务器和客户端之间的简单 Java 套接字连接发送对象。我想知道如果我想传输一个可能很大的对象,例如图像,是否可以放置一个线程来跟踪已发送/接收的数据量的进度?如果这个问题的答案不是很直接,有人可以解释我如何做类似的事情吗?提前致谢!
最佳答案
Apache Commons IO 库有一对类 CountingInputStream
和 CountingOutputStream
实现字节计数输入/输出流过滤器。
如果将它们插入流链中,您可以跟踪读取或写入的字节数。 (这些过滤器必须插入物理输入/输出流和对象流之间的某个位置。)
您可以通过子类化 FilterInputStream
来自己实现同样的事情和 FilterOutputStream
类。甚至还有一个名为 ProgressMonitorInputStream
的 Swing 类可能完全实现您所需要的。
关于java - 获取ObjectOutputStream/ObjectInputStream的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366002/