如果我使用下面的示例解决方案进行ftp上传/下载,我可以获得从流中写入/读取的总字节数到套接字缓冲区(如果我错了,请更正我)。比较这种使用CopyStreamListener获取字节写入/读取的方式,哪种方式更接近实际通过网络发送字节的点?或者这两种方法是一样的吗?
InputStream readStream = this.ftpClient.retrieveFileStream(remoteFile);
int totalBytesRead;
while ((bytesRead = readStream.read(buffer)) != -1)
{
totalBytesRead += bytesRead;
}
提前致谢。
答案 0 :(得分:1)
如果您想要实现的只是计算传输的字节数,则两种方式都应该是等效的。但是,使用侦听器具有设计优势,因为您可以更好地分离关注点:代码的一部分传输数据,另一部分累积统计信息(并且通常与用户界面代码更紧密地协作,而不是传输代码应该执行的操作)。 / p>