java下载的文件不完整_JAVA 解决FTP下载文件不完整问题

在使用java的ftp下载服务器上的文件获取文件的byte[],然后对byte进行加密传输时,

注意是要获取byte[],而不是下载文件到本地;

发现下载的byte[]大小总是小于文件实际大小,并且下载的大小是变化的

到网上查阅发现,ftp传输是不稳定的,会随网络情况波动;

所以对下载的方法进行了修改;

import sun.net.ftp.FtpClient;

import sun.net.ftp.FtpProtocolException;

public String download(String ftpFile, FtpClient ftpClient) {

InputStream is = null;

byte[] data = null;

try {

// 获取ftp上的文件

long size=ftpClient.getSize(ftpFile);

System.out.println(ftpClient.getSize(ftpFile));

is = ftpClient.getFileStream(ftpFile);

// System.out.println(is.available());

int count =is.available();

System.out.println("count:"+count);

while (count>0 || (data==null?0:data.length)

运行发现果然波动是很大的

7f3d16b53ebf549589a1425830b62687.png

042f914b74c1f2985a29bd525f7e61da.png

773e4a4e24bbecadc9437fd722ac7180.png

04ba731e9514786d1c16d2556f6e5308.png

参考:

https://blog.csdn.net/shb2058/article/details/52637213

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值