java - 获取ObjectOutputStream/ObjectInputStream的进度

标签 java sockets progress objectoutputstream objectinputstream

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

最佳答案

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

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

您可以通过子类化 FilterInputStream 来自己实现同样的事情和 FilterOutputStream类。甚至还有一个名为 ProgressMonitorInputStream 的 Swing 类可能完全实现您所需要的。

关于java - 获取ObjectOutputStream/ObjectInputStream的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366002/

相关文章:

java - Android rtl 支持无需重新加载 Activity

java - android - 减去edittext文本

java - 异常 : java. io.UTFDataFormatException:服务器/客户端

linux - 给我自己的原始 ICMP 数据包

silverlight - 在WP7中显示图像控件的加载进度

delphi xe7 使用其余客户端上传/下载保管箱文件并显示进度

go - 在 golang webapp 中处理 post 请求时显示进度

java - 以静态方式注销广播接收器 - Android

java - 基于多个属性对List进行排序 Collection.sort() 编译错误

linux - tsc 的 SO_TIMESTAMP 不是 timeval?