返回信息流FTP上传意外断网,网络恢复后断点续传特别慢。
经过调试发现是下面这段代码运行特别慢。
OutputStream out = ftpClient.appendFileStream(remotePath);
这个代码是断网恢复后,获取outputstream的过程。
个人推测是不是因为上一个连接因为意外断网没有关闭,导致下一个连接里面无法对上传到一半的文件进行续传。
client获取ftp输出流过程慢,查了很多资料,没啥有帮助的解决办法。
这是一条镜像帖。来源:北邮人论坛 / java / #65940同步于 2021/9/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【问题】FTP上传意外断网,网络恢复后断点续传特别慢
loongking
2021/9/16镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
以下是另一位兄弟提的问题,和我遇到的情况一样,但也还没有得到答案https://www.oschina.net/question/856154_120881
以下是帖子内容
在android客户端做的断点续传,引用的是apache的common-net 3.1jar中的FtpClient实现的。
out = ftpClient.appendFileStream(remote);
获得ftp输出流,然后通过while循环将本地文件写入到远程。
while ((c = raf.read(buffers)) != -1) {
out.write(buffers, 0, c);
}
但是问题是,当上传部分时,我手动关掉网络后,程序似乎阻塞在out.write处了。